Device, method, and graphical user interface for switching between two user interfaces

ABSTRACT

An electronic device with a display and a touch-sensitive surface displays a first authentication user interface on the display, the first authentication user interface including a text entry field for entering a text-based authentication code; detects a first input by a user on the touch-sensitive surface while displaying the first authentication user interface; in response to detecting the first input, displays a second authentication user interface on the display, distinct from the first authentication user interface, the second authentication user interface configured for entering a gesture-based authentication code; while displaying the second authentication user interface, detects one or more gestures by the user at locations on the touch-sensitive surface that correspond to locations on the second authentication user interface; and authenticates the user in accordance with a determination that the detected one or more gestures correspond to a gesture-based authentication code for the user.

RELATED APPLICATION

This application claims priority to U.S. Provisional Application Ser.No. 61/427,035, filed Dec. 23, 2010, entitled “Device, Method, andGraphical User Interface for Switching Between Two User Interfaces,”which is incorporated herein by reference in its entirety.

This application is related to U.S. application Ser. No. ______, filed______, entitled “Device, Method, and Graphical User Interface forSwitching Between Two User Interfaces,” (Attorney Docket No.P10483US2/63266-5361US), which are incorporated herein by reference intheir entirety.

TECHNICAL HELD

This relates generally to electronic devices with touch-sensitivesurfaces, including but not limited to electronic devices withtouch-sensitive surfaces that switch back and forth between two userinterfaces.

BACKGROUND

The use of touch-sensitive surfaces as input devices for computers andother electronic computing devices has increased significantly in recentyears. Exemplary touch-sensitive surfaces include touch pads and touchscreen displays. Such surfaces are widely used to manipulate userinterfaces on a display.

In some cases, a user may want to access two related user interfaces.With existing methods, while one user interface is displayed, it may notbe clear to the user how to access the second user interface. It may noteven be apparent that there is a second user interface available to theuser. For example, a user may need to search through one or more menusto activate a command that will display the second user interface. Suchmethods are cumbersome and inefficient. Such methods create asignificant cognitive burden on a user. In addition, such methods takelonger than necessary, thereby wasting energy. This latter considerationis particularly important in battery-operated devices.

SUMMARY

Accordingly, there is a need for electronic devices with faster, moreefficient methods and interfaces for switching between two userinterfaces. Such methods and interfaces may complement or replaceconventional methods for switching between two user interfaces. Suchmethods and interfaces reduce the cognitive burden on a user and producea more efficient human-machine interface. For battery-operated devices,such methods and interfaces conserve power and increase the time betweenbattery charges.

The above deficiencies and other problems associated with userinterfaces for electronic devices with touch-sensitive surfaces arereduced or eliminated by the disclosed devices. In some embodiments, thedevice is a desktop computer. In some embodiments, the device isportable (e.g., a notebook computer, tablet computer, or handhelddevice). In some embodiments, the device has a touchpad. In someembodiments, the device has a touch-sensitive display (also known as a“touch screen” or “touch screen display”). In some embodiments, thedevice has a graphical user interface (GUI), one or more processors,memory and one or more modules, programs or sets of instructions storedin the memory for performing multiple functions. In some embodiments,the user interacts with the GUI primarily through finger contacts andgestures on the touch-sensitive surface. In some embodiments, thefunctions may include authenticating, image editing, drawing,presenting, word processing, website creating, disk authoring,spreadsheet making, game playing, telephoning, video conferencing,e-mailing, instant messaging, workout support, digital photographing,digital videoing, web browsing, digital music playing, digital videoplaying, and/or inputting authentication credentials. Executableinstructions for performing these functions may be included in anon-transitory computer readable storage medium or other computerprogram product configured for execution by one or more processors.

In accordance with some embodiments, a method is performed at anelectronic device with a display and a touch-sensitive surface. Themethod includes: displaying a first authentication user interface on thedisplay, the first authentication user interface including a text entryfield for entering a text-based authentication code; detecting a firstinput by a user on the touch-sensitive surface while displaying thefirst authentication user interface; in response to detecting the firstinput, displaying a second authentication user interface on the display,distinct from the first authentication user interface, the secondauthentication user interface configured for entering a gesture-basedauthentication code; while displaying the second authentication userinterface, detecting one or more gestures by the user at locations onthe touch-sensitive surface that correspond to locations on the secondauthentication user interface; and authenticating the user in accordancewith a determination that the detected one or more gestures correspondto a gesture-based authentication code for the user.

In accordance with some embodiments, a method is performed at anelectronic device with a display and a touch-sensitive surface. Themethod includes: displaying a first user interface on the display, thefirst user interface including a graphical object at a first location onthe display; while displaying the first user interface, detecting afirst gesture by a user on the touch-sensitive surface, the firstgesture starting at a location on the touch-sensitive surface thatcorresponds to the first location of the graphical object on thedisplay; in response to detecting the first gesture: moving thegraphical object across the display to a second location on the display,distinct from the first location, and displaying a second user interfaceon the display, distinct from the first user interface, the second userinterface including the graphical object at the second location on thedisplay; while displaying the second user interface, detecting a secondgesture by the user on the touch-sensitive surface, the second gesturestarting at a location on the touch-sensitive surface that correspondsto the second location of the graphical object on the display; and, inresponse to detecting the second gesture: moving the graphical objectacross the display to the first location on the display, and displayingthe first user interface on the display.

In accordance with some embodiments, an electronic device includes adisplay, a touch-sensitive surface, one or more processors, memory, andone or more programs. The one or more programs are stored in the memoryand configured to be executed by the one or more processors. The one ormore programs include instructions for: displaying a firstauthentication user interface on the display, the first authenticationuser interface including a text entry field for entering a text-basedauthentication code; detecting a first input by a user on thetouch-sensitive surface while displaying the first authentication userinterface; in response to detecting the first input, displaying a secondauthentication user interface on the display, distinct from the firstauthentication user interface, the second authentication user interfaceconfigured for entering a gesture-based authentication code; whiledisplaying the second authentication user interface, detecting one ormore gestures by the user at locations on the touch-sensitive surfacethat correspond to locations on the second authentication userinterface; and authenticating the user in accordance with adetermination that the detected one or more gestures correspond to agesture-based authentication code for the user.

In accordance with some embodiments, an electronic device includes adisplay, a touch-sensitive surface, one or more processors, memory, andone or more programs. The one or more programs are stored in the memoryand configured to be executed by the one or more processors. The one ormore programs include instructions for: displaying a first userinterface on the display, the first user interface including a graphicalobject at a first location on the display; while displaying the firstuser interface, detecting a first gesture by a user on thetouch-sensitive surface, the first gesture starting at a location on thetouch-sensitive surface that corresponds to the first location of thegraphical object on the display; in response to detecting the firstgesture: moving the graphical object across the display to a secondlocation on the display, distinct from the first location, anddisplaying a second user interface on the display, distinct from thefirst user interface, the second user interface including the graphicalobject at the second location on the display; while displaying thesecond user interface, detecting a second gesture by the user on thetouch-sensitive surface, the second gesture starting at a location onthe touch-sensitive surface that corresponds to the second location ofthe graphical object on the display; and, in response to detecting thesecond gesture: moving the graphical object across the display to thefirst location on the display, and displaying the first user interfaceon the display.

In accordance with some embodiments, a non-transitory computer readablestorage medium has stored therein instructions which when executed by anelectronic device with a display and a touch-sensitive surface, causethe device to: display a first authentication user interface on thedisplay, the first authentication user interface including a text entryfield for entering a text-based authentication code; detect a firstinput by a user on the touch-sensitive surface while displaying thefirst authentication user interface; in response to detecting the firstinput, display a second authentication user interface on the display,distinct from the first authentication user interface, the secondauthentication user interface configured for entering a gesture-basedauthentication code; while displaying the second authentication userinterface, detect one or more gestures by the user at locations on thetouch-sensitive surface that correspond to locations on the secondauthentication user interface; and authenticate the user in accordancewith a determination that the detected one or more gestures correspondto a gesture-based authentication code for the user.

In accordance with some embodiments, a non-transitory computer readablestorage medium has stored therein instructions which when executed by anelectronic device with a display and a touch-sensitive surface, causethe device to: display a first user interface on the display, the firstuser interface including a graphical object at a first location on thedisplay; while displaying the first user interface, detect a firstgesture by a user on the touch-sensitive surface, the first gesturestarting at a location on the touch-sensitive surface that correspondsto the first location of the graphical object on the display; inresponse to detecting the first gesture: move the graphical objectacross the display to a second location on the display, distinct fromthe first location, and display a second user interface on the display,distinct from the first user interface, the second user interfaceincluding the graphical object at the second location on the display;while displaying the second user interface, detect a second gesture bythe user on the touch-sensitive surface, the second gesture starting ata location on the touch-sensitive surface that corresponds to the secondlocation of the graphical object on the display; and, in response todetecting the second gesture: move the graphical object across thedisplay to the first location on the display, and display the first userinterface on the display.

In accordance with some embodiments, a graphical user interface on anelectronic device with a display, a touch-sensitive surface, a memory,and one or more processors to execute one or more programs stored in thememory includes a first authentication user interface on the display,the first authentication user interface including a text entry field forentering a text-based authentication code. A first input by a user isdetected on the touch-sensitive surface while displaying the firstauthentication user interface. In response to detecting the first input,a second authentication user interface is displayed on the display,distinct from the first authentication user interface, the secondauthentication user interface configured for entering a gesture-basedauthentication code. While displaying the second authentication userinterface, one or more gestures by the user are detected at locations onthe touch-sensitive surface that correspond to locations on the secondauthentication user interface. The user is authenticated in accordancewith a determination that the detected one or more gestures correspondto a gesture-based authentication code for the user.

In accordance with some embodiments, a graphical user interface on anelectronic device with a display, a touch-sensitive surface, a memory,and one or more processors to execute one or more programs stored in thememory includes a first user interface on the display, the first userinterface including a graphical object at a first location on thedisplay. While displaying the first user interface, a first gesture by auser is detected on the touch-sensitive surface, the first gesturestarting at a location on the touch-sensitive surface that correspondsto the first location of the graphical object on the display. Inresponse to detecting the first gesture: the graphical object is movedacross the display to a second location on the display, distinct fromthe first location, and a second user interface is displayed on thedisplay, distinct from the first user interface, the second userinterface including the graphical object at the second location on thedisplay. While displaying the second user interface, a second gesture bythe user is detected on the touch-sensitive surface, the second gesturestarting at a location on the touch-sensitive surface that correspondsto the second location of the graphical object on the display. Inresponse to detecting the second gesture: the graphical object is movedacross the display to the first location on the display, and the firstuser interface is displayed on the display.

In accordance with some embodiments, an electronic device includes: adisplay; a touch-sensitive surface; means for displaying a firstauthentication user interface on the display, the first authenticationuser interface including a text entry field for entering a text-basedauthentication code; means for detecting a first input by a user on thetouch-sensitive surface while displaying the first authentication userinterface; means, enabled in response to detecting the first input, fordisplaying a second authentication user interface on the display,distinct from the first authentication user interface, the secondauthentication user interface configured for entering a gesture-basedauthentication code; means, enabled while displaying the secondauthentication user interface, for detecting one or more gestures by theuser at locations on the touch-sensitive surface that correspond tolocations on the second authentication user interface; and means forauthenticating the user in accordance with a determination that thedetected one or more gestures correspond to a gesture-basedauthentication code for the user.

In accordance with some embodiments, an electronic device includes: adisplay; a touch-sensitive surface; means for displaying a first userinterface on the display, the first user interface including a graphicalobject at a first location on the display; means, enabled whiledisplaying the first user interface, for detecting a first gesture by auser on the touch-sensitive surface, the first gesture starting at alocation on the touch-sensitive surface that corresponds to the firstlocation of the graphical object on the display; means, enabled inresponse to detecting the first gesture, including: means for moving thegraphical object across the display to a second location on the display,distinct from the first location, and means for displaying a second userinterface on the display, distinct from the first user interface, thesecond user interface including the graphical object at the secondlocation on the display; means, enabled while displaying the second userinterface, for detecting a second gesture by the user on thetouch-sensitive surface, the second gesture starting at a location onthe touch-sensitive surface that corresponds to the second location ofthe graphical object on the display; and means, enabled in response todetecting the second gesture, including: means for moving the graphicalobject across the display to the first location on the display, andmeans for displaying the first user interface on the display.

In accordance with some embodiments, an information processing apparatusfor use in an electronic device with a display and a touch-sensitivesurface includes: means for displaying a first authentication userinterface on the display, the first authentication user interfaceincluding a text entry field for entering a text-based authenticationcode; means for detecting a first input by a user on the touch-sensitivesurface while displaying the first authentication user interface; means,enabled in response to detecting the first input, for displaying asecond authentication user interface on the display, distinct from thefirst authentication user interface, the second authentication userinterface configured for entering a gesture-based authentication code;means, enabled while displaying the second authentication userinterface, for detecting one or more gestures by the user at locationson the touch-sensitive surface that correspond to locations on thesecond authentication user interface; and means for authenticating theuser in accordance with a determination that the detected one or moregestures correspond to a gesture-based authentication code for the user.

In accordance with some embodiments, an information processing apparatusfor use in an electronic device with a display and a touch-sensitivesurface includes: means for displaying a first user interface on thedisplay, the first user interface including a graphical object at afirst location on the display; means, enabled while displaying the firstuser interface, for detecting a first gesture by a user on thetouch-sensitive surface, the first gesture starting at a location on thetouch-sensitive surface that corresponds to the first location of thegraphical object on the display; means, enabled in response to detectingthe first gesture, including: means for moving the graphical objectacross the display to a second location on the display, distinct fromthe first location, and means for displaying a second user interface onthe display, distinct from the first user interface, the second userinterface including the graphical object at the second location on thedisplay; means, enabled while displaying the second user interface, fordetecting a second gesture by the user on the touch-sensitive surface,the second gesture starting at a location on the touch-sensitive surfacethat corresponds to the second location of the graphical object on thedisplay; and means, enabled in response to detecting the second gesture,including: means for moving the graphical object across the display tothe first location on the display, and means for displaying the firstuser interface on the display.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display a first authentication userinterface, the first authentication user interface including a textentry field for entering a text-based authentication code; atouch-sensitive surface unit configured to receive user inputs; and aprocessing unit coupled to the display unit and the touch-sensitivesurface unit. The processing unit is configured to: detect a first inputby a user on the touch-sensitive surface unit while the display unitdisplays the first authentication user interface; in response todetecting the first input, enable display of a second authenticationuser interface on the display unit, distinct from the firstauthentication user interface, the second authentication user interfaceconfigured for entering a gesture-based authentication code; while thedisplay unit displays the second authentication user interface, detectone or more gestures by the user at locations on the touch-sensitivesurface unit that correspond to locations on the second authenticationuser interface; and authenticate the user in accordance with adetermination that the detected one or more gestures correspond to agesture-based authentication code for the user.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display a first user interface, the firstuser interface including a graphical object at a first location on thedisplay unit; a touch-sensitive surface unit configured to receivegestures; and a processing unit coupled to the display unit and thetouch-sensitive surface unit. The processing unit is configured to:while the display unit displays the first user interface, detect a firstgesture by a user on the touch-sensitive surface unit, the first gesturestarting at a location on the touch-sensitive surface unit thatcorresponds to the first location of the graphical object on the displayunit; in response to detecting the first gesture: move the graphicalobject across the display unit to a second location on the display unit,distinct from the first location; and enable display of a second userinterface on the display unit, distinct from the first user interface,the second user interface including the graphical object at the secondlocation on the display unit; while the display unit displays the seconduser interface, detect a second gesture by the user on thetouch-sensitive surface unit, the second gesture starting at a locationon the touch-sensitive surface unit that corresponds to the secondlocation of the graphical object on the display unit; and, in responseto detecting the second gesture: move the graphical object across thedisplay unit to the first location on the display unit; and enabledisplay of the first user interface on the display unit.

Thus, electronic devices with displays and touch-sensitive surfaces areprovided with faster, more efficient methods and interfaces forswitching between two user interfaces (e.g., switching between twoauthentication user interfaces), thereby increasing the effectiveness,efficiency, and user satisfaction with such devices. Such methods andinterfaces may complement or replace conventional methods for switchingbetween two user interfaces.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the aforementioned embodiments of theinvention as well as additional embodiments thereof, reference should bemade to the Description of Embodiments below, in conjunction with thefollowing drawings in which like reference numerals refer tocorresponding parts throughout the figures.

FIG. 1A is a block diagram illustrating a portable multifunction devicewith a touch-sensitive display in accordance with some embodiments.

FIG. 1B is a block diagram illustrating exemplary components for eventhandling in accordance with some embodiments.

FIG. 2 illustrates a portable multifunction device having a touch screenin accordance with some embodiments.

FIG. 3 is a block diagram of an exemplary multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments.

FIG. 4A illustrates an exemplary user interface for a menu ofapplications on a portable multifunction device in accordance with someembodiments.

FIG. 4B illustrates an exemplary user interface for a multifunctiondevice with a touch-sensitive surface that is separate from the displayin accordance with some embodiments.

FIGS. 5A-5S illustrate exemplary user interfaces for switching betweenuser interfaces, including switching between a text-based authenticationuser interface and a gesture-based authentication user interface, inaccordance with some embodiments.

FIGS. 6A-6C are flow diagrams illustrating a method of switching betweena text-based authentication user interface and a gesture-basedauthentication user interface in accordance with some embodiments.

FIG. 7A-7B are flow diagrams illustrating a method of switching betweena first user interface and a second user interface in accordance withsome embodiments.

FIG. 8 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIG. 9 is a functional block diagram of an electronic device inaccordance with some embodiments.

DESCRIPTION OF EMBODIMENTS

Described below are devices and methods that enable a user to easilytoggle between two user interfaces. For example, for authentication, thedevice toggles between a text-based authentication user interface and agesture-based authentication user interface. The two user interfacestypically contain a common graphical object that moves from one locationin the first user interface (e.g., next to the top of the display) to asecond location in the second user interface (e.g., next to the bottomof the display). The switch between the two user interfaces is typicallyinitiated by a gesture on a touch-sensitive surface at a location thatcorresponds to the current location of the graphical object on thedisplay. The movement and continuous display of the graphical object inboth the first and second user interfaces helps to remind a user how togo back and forth (toggle) between the two interfaces. The movement anddisplay of the common graphical object typically indicates a relativespatial relationship between the two user interfaces in a displayedapplication.

Below, FIGS. 1A-1B, 2, 3, 8, and 9 provide a description of exemplarydevices. FIGS. 4A-4B and 5A-5S illustrate exemplary user interfaces forswitching between a first user interface and a second user interface.FIGS. 6A-6C are flow diagrams illustrating a method of switching betweena text-based authentication user interface and a gesture-basedauthentication user interface. The user interfaces in FIGS. 5A-5I areused to illustrate the processes in FIGS. 6A-6C. FIGS. 7A-7B are flowdiagrams illustrating a method of switching between a first userinterface and a second user interface. The user interfaces in FIGS.5J-5S are used to illustrate the processes in FIGS. 7A-7B.

Exemplary Devices

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the present invention. However, it will beapparent to one of ordinary skill in the art that the present inventionmay be practiced without these specific details. In other instances,well-known methods, procedures, components, circuits, and networks havenot been described in detail so as not to unnecessarily obscure aspectsof the embodiments.

It will also be understood that, although the terms first, second, etc.may be used herein to describe various elements, these elements shouldnot be limited by these terms. These terms are only used to distinguishone element from another. For example, a first contact could be termed asecond contact, and, similarly, a second contact could be termed a firstcontact, without departing from the scope of the present invention. Thefirst contact and the second contact are both contacts, but they are notthe same contact.

The terminology used in the description of the invention herein is forthe purpose of describing particular embodiments only and is notintended to be limiting of the invention. As used in the description ofthe invention and the appended claims, the singular forms “a”, “an” and“the” are intended to include the plural forms as well, unless thecontext clearly indicates otherwise. It will also be understood that theterm “and/or” as used herein refers to and encompasses any and allpossible combinations of one or more of the associated listed items. Itwill be further understood that the terms “includes,” “including,”“comprises,” and/or “comprising,” when used in this specification,specify the presence of stated features, integers, steps, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, integers, steps, operations,elements, components, and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in response to detecting.” dependingon the context. Similarly, the phrase “if it is determined” or “if [astated condition or event] is detected” may be construed to mean “upondetermining” or “in response to determining” or “upon detecting [thestated condition or event]” or “in response to detecting [the statedcondition or event],” depending on the context.

Embodiments of electronic devices, user interfaces for such devices, andassociated processes for using such devices are described. In someembodiments, the device is a portable communications device, such as amobile telephone, that also contains other functions, such as PDA and/ormusic player functions. Exemplary embodiments of portable multifunctiondevices include, without limitation, the iPhone®, iPod Touch®, and iPad®devices from Apple Inc. of Cupertino, Calif. Other portable electronicdevices, such as laptops or tablet computers with touch-sensitivesurfaces (e.g., touch screen displays and/or touch pads), may also beused. It should also be understood that, in some embodiments, the deviceis not a portable communications device, but is a desktop computer witha touch-sensitive surface (e.g., a touch screen display and/or a touchpad).

In the discussion that follows, an electronic device that includes adisplay and a touch-sensitive surface is described. It should beunderstood, however, that the electronic device may include one or moreother physical user-interface devices, such as a physical keyboard, amouse and/or a joystick.

The device typically supports a variety of applications, such as one ormore of the following: a drawing application, a presentationapplication, a word processing application, a website creationapplication, a disk authoring application, a spreadsheet application, agaming application, a telephone application, a video conferencingapplication, an e-mail application, an instant messaging application, aworkout support application, a photo management application, a digitalcamera application, a digital video camera application, a web browsingapplication, a digital music player application, and/or a digital videoplayer application.

The various applications that may be executed on the device may use atleast one common physical user-interface device, such as thetouch-sensitive surface. One or more functions of the touch-sensitivesurface as well as corresponding information displayed on the device maybe adjusted and/or varied from one application to the next and/or withina respective application. In this way, a common physical architecture(such as the touch-sensitive surface) of the device may support thevariety of applications with user interfaces that are intuitive andtransparent to the user.

Attention is now directed toward embodiments of portable devices withtouch-sensitive displays. FIG. 1A is a block diagram illustratingportable multifunction device 100 with touch-sensitive displays 112 inaccordance with some embodiments. Touch-sensitive display 112 issometimes called a “touch screen” for convenience, and may also be knownas or called a touch-sensitive display system. Device 100 may includememory 102 (which may include one or more non-transitory computerreadable storage mediums), memory controller 122, one or more processingunits (CPU's) 120, peripherals interface 118, RF circuitry 108, audiocircuitry 110, speaker 111, microphone 113, input/output (I/O) subsystem106, other input or control devices 116, and external port 124. Device100 may include one or more optical sensors 164. These components maycommunicate over one or more communication buses or signal lines 103.

It should be appreciated that device 100 is only one example of aportable multifunction device, and that device 100 may have more orfewer components than shown, may combine two or more components, or mayhave a different configuration or arrangement of the components. Thevarious components shown in FIG. 1A may be implemented in hardware,software, or a combination of both hardware and software, including oneor more signal processing and/or application specific integratedcircuits.

Memory 102 may include high-speed random access memory and may alsoinclude non-volatile memory, such as one or more magnetic disk storagedevices, flash memory devices, or other non-volatile solid-state memorydevices. Access to memory 102 by other components of device 100, such asCPU 120 and the peripherals interface 118, may be controlled by memorycontroller 122.

Peripherals interface 118 can be used to couple input and outputperipherals of the device to CPU 120 and memory 102. The one or moreprocessors 120 run or execute various software programs and/or sets ofinstructions stored in memory 102 to perform various functions fordevice 100 and to process data.

In some embodiments, peripherals interface 118, CPU 120, and memorycontroller 122 may be implemented on a single chip, such as chip 104. Insome other embodiments, they may be implemented on separate chips.

RF (radio frequency) circuitry 108 receives and sends RF signals, alsocalled electromagnetic signals. RF circuitry 108 converts electricalsignals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. RF circuitry 108 may include well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. RFcircuitry 108 may communicate with networks, such as the Internet, alsoreferred to as the World Wide Web (WWW), an intranet and/or a wirelessnetwork, such as a cellular telephone network, a wireless local areanetwork (LAN) and/or a metropolitan area network (MAN), and otherdevices by wireless communication. The wireless communication may useany of a plurality of communications standards, protocols andtechnologies, including but not limited to Global System for MobileCommunications (GSM), Enhanced Data GSM Environment (EDGE), high-speeddownlink packet access (HSDPA), high-speed uplink packet access (HSUPA),wideband code division multiple access (W-CDMA), code division multipleaccess (CDMA), time division multiple access (TDMA), Bluetooth, WirelessFidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and/orIEEE 802.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocolfor e-mail (e.g., Internet message access protocol (IMAP) and/or postoffice protocol (POP)), instant messaging (e.g., extensible messagingand presence protocol (XMPP), Session Initiation Protocol for InstantMessaging and Presence Leveraging Extensions (SIMPLE), Instant Messagingand Presence Service (IMPS)), and/or Short Message Service (SMS), or anyother suitable communication protocol, including communication protocolsnot vet developed as of the filing date of this document.

Audio circuitry 110, speaker 111, and microphone 113 provide an audiointerface between a user and device 100. Audio circuitry 110 receivesaudio data from peripherals interface 118, converts the audio data to anelectrical signal, and transmits the electrical signal to speaker 111.Speaker 111 converts the electrical signal to human-audible sound waves.Audio circuitry 110 also receives electrical signals converted bymicrophone 113 from sound waves. Audio circuitry 110 converts theelectrical signal to audio data and transmits the audio data toperipherals interface 118 for processing. Audio data may be retrievedfrom and/or transmitted to memory 102 and/or RF circuitry 108 byperipherals interface 118. In some embodiments, audio circuitry 110 alsoincludes a headset jack (e.g., 212, FIG. 2). The headset jack providesan interface between audio circuitry 110 and removable audioinput/output peripherals, such as output-only headphones or a headsetwith both output (e.g., a headphone for one or both ears) and input(e.g., a microphone).

I/O subsystem 106 couples input/output peripherals on device 100, suchas touch screen 112 and other input control devices 116, to peripheralsinterface 118. I/O subsystem 106 may include display controller 156 andone or more input controllers 160 for other input or control devices.The one or more input controllers 160 receive/send electrical signalsfrom/to other input or control devices 116. The other input controldevices 116 may include physical buttons (e.g., push buttons, rockerbuttons, etc.), dials, slider switches, joysticks, click wheels, and soforth. In some alternate embodiments, input controller(s) 160 may becoupled to any (or none) of the following: a keyboard, infrared port,USB port, and a pointer device such as a mouse. The one or more buttons(e.g., 208, FIG. 2) may include an up/down button for volume control ofspeaker 111 and/or microphone 113. The one or more buttons may include apush button (e.g., 206, FIG. 2).

Touch-sensitive display 112 provides an input interface and an outputinterface between the device and a user. Display controller 156 receivesand/or sends electrical signals from/to touch screen 112. Touch screen112 displays visual output to the user. The visual output may includegraphics, text, icons, video, and any combination thereof (collectivelytermed “graphics”). In some embodiments, some or all of the visualoutput may correspond to user-interface objects.

Touch screen 112 has a touch-sensitive surface, sensor or set of sensorsthat accepts input from the user based on haptic and/or tactile contact.Touch screen 112 and display controller 156 (along with any associatedmodules and/or sets of instructions in memory 102) detect contact (andany movement or breaking of the contact) on touch screen 112 andconverts the detected contact into interaction with user-interfaceobjects (e.g., one or more soft keys, icons, web pages or images) thatare displayed on touch screen 112. In an exemplary embodiment, a pointof contact between touch screen 112 and the user corresponds to a fingerof the user.

Touch screen 112 may use LCD (liquid crystal display) technology, LPD(light emitting polymer display) technology, or LED (light emittingdiode) technology, although other display technologies may be used inother embodiments. Touch screen 112 and display controller 156 maydetect contact and any movement or breaking thereof using any of aplurality of touch sensing technologies now known or later developed,including but not limited to capacitive, resistive, infrared, andsurface acoustic wave technologies, as well as other proximity sensorarrays or other elements for determining one or more points of contactwith touch screen 112. In an exemplary embodiment, projected mutualcapacitance sensing technology is used, such as that found in theiPhone®, iPod Touch®, and iPad®, from Apple Inc. of Cupertino, Calif.

Touch screen 112 may have a video resolution in excess of 100 dpi. Insome embodiments, the touch screen has a video resolution ofapproximately 160 dpi. The user may make contact with touch screen 112using any suitable object or appendage, such as a stylus, a finger, andso forth. In some embodiments, the user interface is designed to workprimarily with finger-based contacts and gestures, which can be lessprecise than stylus-based input due to the larger area of contact of afinger on the touch screen. In some embodiments, the device translatesthe rough finger-based input into a precise pointer/cursor position orcommand for performing the actions desired by the user.

In some embodiments, in addition to the touch screen, device 100 mayinclude a touchpad (not shown) for activating or deactivating particularfunctions. In some embodiments, the touchpad is a touch-sensitive areaof the device that, unlike the touch screen, does not display visualoutput. The touchpad may be a touch-sensitive surface that is separatefrom touch screen 112 or an extension of the touch-sensitive surfaceformed by the touch screen.

Device 100 also includes power system 162 for powering the variouscomponents. Power system 162 may include a power management system, oneor more power sources (e.g., battery, alternating current (AC)), arecharging system, a power failure detection circuit, a power converteror inverter, a power status indicator (e.g., a light-emitting diode(LED)) and any other components associated with the generation,management and distribution of power in portable devices.

Device 100 may also include one or more optical sensors 164. FIG. 1Ashows an optical sensor coupled to optical sensor controller 158 in I/Osubsystem 106. Optical sensor 164 may include charge-coupled device(CCD) or complementary metal-oxide semiconductor (CMOS)phototransistors. Optical sensor 164 receives light from theenvironment, projected through one or more lens, and converts the lightto data representing an image. In conjunction with imaging module 143(also called a camera module), optical sensor 164 may capture stillimages or video. In some embodiments, an optical sensor is located onthe back of device 100, opposite touch screen display 112 on the frontof the device, so that the touch screen display may be used as aviewfinder for still and/or video image acquisition. In someembodiments, another optical sensor is located on the front of thedevice so that the user's image may be obtained for videoconferencingwhile the user views the other video conference participants on thetouch screen display.

Device 100 may also include one or more proximity sensors 166. FIG. 1Ashows proximity sensor 166 coupled to peripherals interface 118.Alternately, proximity sensor 166 may be coupled to input controller 160in I/O subsystem 106. In some embodiments, the proximity sensor turnsoff and disables touch screen 112 when the multifunction device isplaced near the user's ear (e.g., when the user is making a phone call).

Device 100 may also include one or more accelerometers 168. FIG. 1Ashows accelerometer 168 coupled to peripherals interface 118.Alternately, accelerometer 168 may be coupled to an input controller 160in I/O subsystem 106. In some embodiments, information is displayed onthe touch screen display in a portrait view or a landscape view based onan analysis of data received from the one or more accelerometers. Device100 optionally includes, in addition to accelerometer(s) 168, amagnetometer (not shown) and a GPS (or GLONASS or other globalnavigation system) receiver (not shown) for obtaining informationconcerning the location and orientation (e.g., portrait or landscape) ofdevice 100.

In some embodiments, the software components stored in memory 102include operating system 126, communication module (or set ofinstructions) 128, contact/motion module (or set of instructions) 130,graphics module (or set of instructions) 132, text input module (or setof instructions) 134, Global Positioning System (GPS) module (or set ofinstructions) 135, and applications (or sets of instructions) 136.Furthermore, in some embodiments memory 102 stores device/globalinternal state 157, as shown in FIGS. 1A and 3. Device/global internalstate 157 includes one or more of: active application state, indicatingwhich applications, if any, are currently active; display state,indicating what applications, views or other information occupy variousregions of touch screen display 112; sensor state, including informationobtained from the device's various sensors and input control devices116; and location information concerning the device's location and/orattitude.

Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, oran embedded operating system such as VxWorks) includes various softwarecomponents and/or drivers for controlling and managing general systemtasks (e.g., memory management, storage device control, powermanagement, etc.) and facilitates communication between various hardwareand software components.

Communication module 128 facilitates communication with other devicesover one or more external ports 124 and also includes various softwarecomponents for handling data received by RF circuitry 108 and/orexternal port 124. External port 124 (e.g., Universal Serial Bus (USB),FIREWIRE, etc.) is adapted for coupling directly to other devices orindirectly over a network (e.g., the Internet, wireless LAN, etc.). Insome embodiments, the external port is a multi-pin (e.g., 30-pin)connector that is the same as, or similar to and/or compatible with the30-pin connector used on iPod (trademark of Apple Inc.) devices.

Contact/motion module 130 may detect contact with touch screen 112 (inconjunction with display controller 156) and other touch sensitivedevices (e.g., a touchpad or physical click wheel). Contact/motionmodule 130 includes various software components for performing variousoperations related to detection of contact, such as determining ifcontact has occurred (e.g., detecting a finger-down event), determiningif there is movement of the contact and tracking the movement across thetouch-sensitive surface (e.g., detecting one or more finger-draggingevents), and determining if the contact has ceased (e.g., detecting afinger-up event or a break in contact). Contact/motion module 130receives contact data from the touch-sensitive surface. Determiningmovement of the point of contact, which is represented by a series ofcontact data, may include determining speed (magnitude), velocity(magnitude and direction), and/or an acceleration (a change in magnitudeand/or direction) of the point of contact. These operations may beapplied to single contacts (e.g., one finger contacts) or to multiplesimultaneous contacts (e.g., “multitouch”/multiple finger contacts). Insome embodiments, contact/motion module 130 and display controller 156detect contact on a touchpad.

Contact/motion module 130 may detect a gesture input by a user.Different gestures on the touch-sensitive surface have different contactpatterns. Thus, a gesture may be detected by detecting a particularcontact pattern. For example, detecting a finger tap gesture includesdetecting a finger-down event followed by detecting a finger-up (liftoff) event at the same position(or substantially the same position) asthe finger-down event (e.g., at the position of an icon). As anotherexample, detecting a finger swipe gesture on the touch-sensitive surfaceincludes detecting a finger-down event followed by detecting one or morefinger-dragging events, and subsequently followed by detecting afinger-up (lift off) event.

Graphics module 132 includes various known software components forrendering and displaying graphics on touch screen 112 or other display,including components for changing the intensity of graphics that aredisplayed. As used herein, the term “graphics” includes any object thatcan be displayed to a user, including without limitation text, webpages, icons (such as user-interface objects including soft keys),digital images, videos, animations and the like.

In some embodiments, graphics module 132 stores data representinggraphics to be used. Each graphic may be assigned a corresponding code.Graphics module 132 receives, from applications etc., one or more codesspecifying graphics to be displayed along with, if necessary, coordinatedata and other graphic property data, and then generates screen imagedata to output to display controller 156.

Text input module 134, which may be a component of graphics module 132,provides soft keyboards for entering text in various applicationscontacts 137, e-mail 140, IM 141, browser 147, and any other applicationthat needs text input).

GPS module 135 determines the location of the device and provides thisinformation for use in various applications (e.g., to telephone 138 foruse in location-based dialing, to camera 143 as picture/video metadata,and to applications that provide location-based services such as weatherwidgets, local yellow page widgets, and map/navigation widgets).

Applications 136 may include the following modules (or sets ofinstructions), or a subset or superset thereof:

-   -   contacts module 137 (sometimes called an address book or contact        list);    -   telephone module 138;    -   video conferencing module 139;    -   e-mail client module 140;    -   instant messaging (IM) module 141;    -   workout support module 142;    -   camera module 143 for still and/or video images;    -   image management module 144;    -   browser module 147;    -   calendar module 148;    -   widget modules 149, which may include one or more of: weather        widget 149-1, stocks widget 149-2, calculator widget 149-3,        alarm clock widget 149-4, dictionary widget 149-5, and other        widgets obtained by the user, as well as user-created widgets        149-6;    -   widget creator module 150 for making user-created widgets 149-6;    -   search module 151;    -   video and music player module 152, which may be made up of a        video player module and a music player module;    -   notes module 153;    -   map module 154;    -   online video module 155; and/or    -   authentication module 159.

Examples of other applications 136 that may be stored in memory 102include other word processing applications, other image editingapplications, drawing applications, presentation applications,JAVA-enabled applications, encryption, digital rights management, voicerecognition, and voice replication.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, and text input module 134, contactsmodule 137 may be used to manage an address book or contact list (e.g.,stored in application internal state 192 of contacts module 137 inmemory 102 or memory 370), including: adding name(s) to the addressbook; deleting name(s) from the address book; associating telephonenumber(s), e-mail address(es), physical address(es) or other informationwith a name; associating an image with a name; categorizing and sortingnames; providing telephone numbers or e-mail addresses to initiateand/or facilitate communications by telephone 138, video conference 139,e-mail 140, or IM 141; and so forth.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, contact module130, graphics module 132, and text input module 134, telephone module138 may be used to enter a sequence of characters corresponding to atelephone number, access one or more telephone numbers in address book137, modify a telephone number that has been entered, dial a respectivetelephone number, conduct a conversation and disconnect or hang up whenthe conversation is completed. As noted above, the wirelesscommunication may use any of a plurality of communications standards,protocols and technologies.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, optical sensor164, optical sensor controller 158, contact module 130, graphics module132, text input module 134, contact list 137, and telephone module 138,videoconferencing module 139 includes executable instructions toinitiate, conduct, and terminate a video conference between a user andone or more other participants in accordance with user instructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, e-mail client module 140 includes executable instructions tocreate, send, receive, and manage e-mail in response to userinstructions. In conjunction with image management module 144, e-mailclient module 140 makes it very easy to create and send e-mails withstill or video images taken with camera module 143.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, the instant messaging module 141 includes executableinstructions to enter a sequence of characters corresponding to aninstant message, to modify previously entered characters, to transmit arespective instant message (for example, using a Short Message Service(SMS) or Multimedia Message Service (MMS) protocol for telephony-basedinstant messages or using XMPP, SIMPLE, or IMPS for Internet-basedinstant messages), to receive instant messages and to view receivedinstant messages. In some embodiments, transmitted and/or receivedinstant messages may include graphics, photos, audio files, video filesand/or other attachments as are supported in a MMS and/or an EnhancedMessaging Service (EMS). As used herein, “instant messaging” refers toboth telephony-based messages (e.g., messages sent using SMS or MMS) andInternet-based messages (e.g., messages sent using XMPP, SIMPLE, orIMPS).

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, text inputmodule 134, GPS module 135, map module 154, and music player module 146,workout support module 142 includes executable instructions to createworkouts (e.g., with time, distance, and/or calorie burning goals);communicate with workout sensors (sports devices); receive workoutsensor data; calibrate sensors used to monitor a workout; select andplay music for a workout; and display, store and transmit workout data.

In conjunction with touch screen 112, display controller 156, opticalsensor(s) 164, optical sensor controller 158, contact module 130,graphics module 132, and image management module 144, camera module 143includes executable instructions to capture still images or video(including a video stream) and store them into memory 102, modifycharacteristics of a still image or video, or delete a still image orvideo from memory 102.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, text input module 134, and cameramodule 143, image management module 144 includes executable instructionsto arrange, modify (e.g., edit), or otherwise manipulate, label, delete,present (e.g., in a digital slide show or album), and store still and/orvideo images.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, and text inputmodule 134, browser module 147 includes executable instructions tobrowse the Internet in accordance with user instructions, includingsearching, linking to, receiving, and displaying web pages or portionsthereof, as well as attachments and other files linked to web pages.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, e-mail client module 140, and browser module 147, calendarmodule 148 includes executable instructions to create, display, modify,and store calendars and data associated with calendars (e.g., calendarentries, to do lists, etc.) in accordance with user instructions.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, and browser module 147, widget modules 149 aremini-applications that may be downloaded and used by a user (e.g.,weather widget 149-1, stocks widget 149-2, calculator widget 149-3,alarm clock widget 149-4, and dictionary widget 149-5) or created by theuser (e.g., user-created widget 149-6). In some embodiments, a widgetincludes an HTML (Hypertext Markup Language) tile, a CSS (CascadingStyle Sheets) file, and a JavaScript file. In some embodiments, a widgetincludes an XML (Extensible Markup Language) file and a JavaScript file(e.g., Yahoo! Widgets).

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, and browser module 147, the widget creator module 150 may beused by a user to create widgets (e.g., turning a user-specified portionof a web page into a widget).

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, and text input module 134,search module 151 includes executable instructions to search for text,music, sound, image, video, and/or other files in memory 102 that matchone or more search criteria (e.g., one or more user-specified searchterms) in accordance with user instructions.

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, audio circuitry 110, speaker111, RF circuitry 108, and browser module 147, video and music playermodule 152 includes executable instructions that allow the user todownload and play back recorded music and other sound files stored inone or more file formats, such as MP3 or AAC files, and executableinstructions to display, present or otherwise play back videos (e.g., ontouch screen 112 or on an external, connected display via external port124). In some embodiments, device 100 may include the functionality ofan MP3 player, such as an iPod (trademark of Apple Inc.).

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, and text input module 134, notes module153 includes executable instructions to create and manage notes, to dolists, and the like in accordance with user instructions.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, GPS module 135, and browser module 147, map module 154 maybe used to receive, display, modify, and store maps and data associatedwith maps (e.g., driving directions; data on stores and other points ofinterest at or near a particular location; and other location-baseddata) in accordance with user instructions.

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, audio circuitry 110, speaker111, RF circuitry 108, text input module 134, e-mail client module 140,and browser module 147, online video module 155 includes instructionsthat allow the user to access, browse, receive (e.g., by streamingand/or download), play back (e.g., on the touch screen or on anexternal, connected display via external port 124), send an e-mail witha link to a particular online video, and otherwise manage online videosin one or more file formats, such as H.264. In some embodiments, instantmessaging module 141, rather than e-mail client module 140, is used tosend a link to a particular online video.

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, text input module 134, andoptionally other modules such as email client module 140 or browsermodule 147, authentication module 159 includes instructions that allowthe user to input, modify, and reset authentication credentials for anetwork, system, device, service, or store.

Each of the above identified modules and applications correspond to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (i.e., sets of instructions) need notbe implemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwisere-arranged in various embodiments. In some embodiments, memory 102 maystore a subset of the modules and data structures identified above.Furthermore, memory 102 may store additional modules and data structuresnot described above.

In some embodiments, device 100 is a device where operation of apredefined set of functions on the device is performed exclusivelythrough a touch screen and/or a touchpad. By using a touch screen and/ora touchpad as the primary input control device for operation of device100, the number of physical input control devices (such as push buttons,dials, and the like) on device 100 may be reduced.

The predefined set of functions that may be performed exclusivelythrough a touch screen and/or a touchpad include navigation between userinterfaces. In some embodiments, the touchpad, when touched by the user,navigates device 100 to a main, home, or root menu from any userinterface that may be displayed on device 100. In such embodiments, thetouchpad may be referred to as a “menu button.” In some otherembodiments, the menu button may be a physical push button or otherphysical input control device instead of a touchpad.

FIG. 1B is a block diagram illustrating exemplary components for eventhandling in accordance with some embodiments. In some embodiments,memory 102 (in FIG. 1A) or 370 (FIG. 3) includes event sorter 170 (e.g.,in operating system 126) and a respective application 136-1 (e.g., anyof the aforementioned applications 137-151, 155, 380-390).

Event sorter 170 receives event information and determines theapplication 136-1 and application view 191 of application 136-1 to whichto deliver the event information. Event sorter 170 includes eventmonitor 171 and event dispatcher module 174. In some embodiments,application 136-1 includes application internal state 192, whichindicates the current application view(s) displayed on touch sensitivedisplay 112 when the application is active or executing. In someembodiments, device/global internal state 157 is used by event sorter170 to determine which application(s) is (are) currently active, andapplication internal state 192 is used by event sorter 170 to determineapplication views 191 to which to deliver event information.

In some embodiments, application internal state 192 includes additionalinformation, such as one or more of: resume information to be used whenapplication 136-1 resumes execution, user interface state informationthat indicates information being displayed or that is ready for displayby application 136-1, a state queue for enabling the user to go back toa prior state or view of application 136-1, and a redo/undo queue ofprevious actions taken by the user.

Event monitor 171 receives event information from peripherals interface118. Event information includes information about a sub-event (e.g., auser touch on touch-sensitive display 112, as part of a multi-touchgesture). Peripherals interface 118 transmits information it receivesfrom I/O subsystem 106 or a sensor, such as proximity sensor 166,accelerometer(s) 168, and/or microphone 113 (through audio circuitry110). Information that peripherals interface 118 receives from I/Osubsystem 106 includes information from touch-sensitive display 112 or atouch-sensitive surface.

In some embodiments, event monitor 171 sends requests to the peripheralsinterface 118 at predetermined intervals. In response, peripheralsinterface 118 transmits event information. In other embodiments,peripheral interface 118 transmits event information only when there isa significant event (e.g., receiving an input above a predeterminednoise threshold and/or for more than a predetermined duration).

In some embodiments, event sorter 170 also includes a hit viewdetermination module 172 and/or an active event recognizer determinationmodule 173.

Hit view determination module 172 provides software procedures fordetermining where a sub-event has taken place within one or more views,when touch sensitive display 112 displays more than one view. Views aremade up of controls and other elements that a user can see on thedisplay.

Another aspect of the user interface associated with an application is aset of views, sometimes herein called application views or userinterface windows, in which information is displayed and touch-basedgestures occur. The application views (of a respective application) inwhich a touch is detected may correspond to programmatic levels within aprogrammatic or view hierarchy of the application. For example, thelowest level view in which a touch is detected may be called the hitview, and the set of events that are recognized as proper inputs may bedetermined based, at least in part, on the hit view of the initial touchthat begins a touch-based gesture.

Hit view determination module 172 receives information related tosub-events of a touch-based gesture. When an application has multipleviews organized in a hierarchy, hit view determination module 172identifies a hit view as the lowest view in the hierarchy which shouldhandle the sub-event. In most circumstances, the hit view is the lowestlevel view in which an initiating sub-event occurs (i.e., the firstsub-event in the sequence of sub-events that form an event or potentialevent). Once the hit view is identified by the hit view determinationmodule, the hit view typically receives all sub-events related to thesame touch or input source for which it was identified as the hit view.

Active event recognizer determination module 173 determines which viewor views within a view hierarchy should receive a particular sequence ofsub-events. In some embodiments, active event recognizer determinationmodule 173 determines that only the hit view should receive a particularsequence of sub-events. In other embodiments, active event recognizerdetermination module 173 determines that all views that include thephysical location of a sub-event are actively involved views, andtherefore determines that all actively involved views should receive aparticular sequence of sub-events. In other embodiments, even if touchsub-events were entirely confined to the area associated with oneparticular view, views higher in the hierarchy would still remain asactively involved views.

Event dispatcher module 174 dispatches the event information to an eventrecognizer (e.g., event recognizer 180). In embodiments including activeevent recognizer determination module 173, event dispatcher module 174delivers the event information to an event recognizer determined byactive event recognizer determination module 173. In some embodiments,event dispatcher module 174 stores in an event queue the eventinformation, which is retrieved by a respective event receiver module182.

In some embodiments, operating system 126 includes event sorter 170.Alternatively, application 136-1 includes event sorter 170. In yet otherembodiments, event sorter 170 is a stand-alone module, or a part ofanother module stored in memory 102, such as contact/motion module 130.

In some embodiments, application 136-1 includes a plurality of eventhandlers 190 and one or more application views 191, each of whichincludes instructions for handling touch events that occur within arespective view of the application's user interface. Each applicationview 191 of the application 136-1 includes one or more event recognizers180. Typically, a respective application view 191 includes a pluralityof event recognizers 180. In other embodiments, one or more of eventrecognizers 180 are part of a separate module, such as a user interfacekit (not shown) or a higher level object from which application 136-1inherits methods and other properties. In some embodiments, a respectiveevent handler 190 includes one or more of: data updater 176, objectupdater 177, GUI updater 178, and/or event data 179 received from eventsorter 170. Event handler 190 may utilize or call data updater 176,object updater 177 or GUI updater 178 to update the application internalstate 192. Alternatively, one or more of the application views 191includes one or more respective event handlers 190. Also, in someembodiments, one or more of data updater 176, object updater 177, andGUI updater 178 are included in a respective application view 191.

A respective event recognizer 180 receives event information (e.g.,event data 179) from event sorter 170, and identifies an event from theevent information. Event recognizer 180 includes event receiver 182 andevent comparator 184. In some embodiments, event recognizer 180 alsoincludes at least a subset of: metadata 183, and event deliveryinstructions 188 (which may include sub-event delivery instructions).

Event receiver 182 receives event information from event sorter 170. Theevent information includes information about a sub-event, for example, atouch or a touch movement. Depending on the sub-event, the eventinformation also includes additional information, such as location ofthe sub-event. When the sub-event concerns motion of a touch the eventinformation may also include speed and direction of the sub-event. Insome embodiments, events include rotation of the device from oneorientation to another (e.g., from a portrait orientation to a landscapeorientation, or vice versa), and the event information includescorresponding information about the current orientation (also calleddevice attitude) of the device.

Event comparator 184 compares the event information to predefined eventor sub-event definitions and, based on the comparison, determines anevent or sub-event, or determines or updates the state of an event orsub-event. In some embodiments, event comparator 184 includes eventdefinitions 186. Event definitions 186 contain definitions of events(e.g., predefined sequences of sub-events), for example, event 1(187-1), event 2 (187-2), and others. In some embodiments, sub-events inan event 187 include, for example, touch begin, touch end, touchmovement, touch cancellation, and multiple touching. In one example, thedefinition for event 1 (187-1) is a double tap on a displayed object.The double tap, for example, comprises a first touch (touch begin) onthe displayed object for a predetermined phase, a first lift-off (touchend) for a predetermined phase, a second touch (touch begin) on thedisplayed object for a predetermined phase, and a second lift-off (touchend) for a predetermined phase. In another example, the definition forevent 2 (187-2) is a dragging on a displayed object. The dragging, forexample, comprises a touch (or contact) on the displayed object for apredetermined phase, a movement of the touch across touch-sensitivedisplay 112, and lift-off of the touch (touch end). In some embodiments,the event also includes information for one or more associated eventhandlers 190.

In some embodiments, event definition 187 includes a definition of anevent for a respective user-interface object. In some embodiments, eventcomparator 184 performs a hit test to determine which user-interfaceobject is associated with a sub-event. For example, in an applicationview in which three user-interface objects are displayed ontouch-sensitive display 112, when a touch is detected on touch-sensitivedisplay 112, event comparator 184 performs a hit test to determine whichof the three user-interface objects is associated with the touch(sub-event). If each displayed object is associated with a respectiveevent handler 190, the event comparator uses the result of the hit testto determine which event handler 190 should be activated. For example,event comparator 184 selects an event handler associated with thesub-event and the object triggering the hit test.

In some embodiments, the definition for a respective event 187 alsoincludes delayed actions that delay delivery of the event informationuntil after it has been determined whether the sequence of sub-eventsdoes or does not correspond to the event recognizer's event type.

When a respective event recognizer 180 determines that the series ofsub-events do not match any of the events in event definitions 186, therespective event recognizer 180 enters an event impossible, eventfailed, or event ended state, after which it disregards subsequentsub-events of the touch-based gesture. In this situation, other eventrecognizers, if any, that remain active for the hit view continue totrack and process sub-events of an ongoing touch-based gesture.

In some embodiments, a respective event recognizer 180 includes metadata183 with configurable properties, flags, and/or lists that indicate howthe event delivery system should perform sub-event delivery to activelyinvolved event recognizers. In some embodiments, metadata 183 includesconfigurable properties, flags, and/or lists that indicate how eventrecognizers may interact with one another. In some embodiments, metadata183 includes configurable properties, flags, and/or lists that indicatewhether sub-events are delivered to varying levels in the view orprogrammatic hierarchy.

In some embodiments, a respective event recognizer 180 activates eventhandler 190 associated with an event when one or more particularsub-events of an event are recognized. In some embodiments, a respectiveevent recognizer 180 delivers event information associated with theevent to event handler 190. Activating an event handler 190 is distinctfrom sending (and deferred sending) sub-events to a respective hit view.In some embodiments, event recognizer 180 throws a flag associated withthe recognized event, and event handler 190 associated with the flagcatches the flag and performs a predefined process.

In some embodiments, event delivery instructions 188 include sub-eventdelivery instructions that deliver event information about a sub-eventwithout activating an event handler. Instead, the sub-event deliveryinstructions deliver event information to event handlers associated withthe series of sub-events or to actively involved views. Event handlersassociated with the series of sub-events or with actively involved viewsreceive the event information and perform a predetermined process.

In some embodiments, data updater 176 creates and updates data used inapplication 136-1. For example, data updater 176 updates the telephonenumber used in contacts module 137, or stores a video file used in videoplayer module 145. In some embodiments, object updater 177 creates andupdates objects used in application 136-1. For example, object updater176 creates a new user-interface object or updates the position of auser-interface object. GUI updater 178 updates the GUI. For example, GUIupdater 178 prepares display information and sends it to graphics module132 for display on a touch-sensitive display.

In some embodiments, event handler(s) 190 includes or has access to dataupdater 176, object updater 177, and GUI updater 178. In someembodiments, data updater 176, object updater 177, and GUI updater 178are included in a single module of a respective application 136-1 orapplication view 191. In other embodiments, they are included in two ormore software modules.

It shall be understood that the foregoing discussion regarding eventhandling of user touches on touch-sensitive displays also applies toother forms of user inputs to operate multifunction devices 100 withinput-devices, not all of which are initiated on touch screens, e.g.,coordinating mouse movement and mouse button presses with or withoutsingle or multiple keyboard presses or holds, user movements taps,drags, scrolls, etc., on touch-pads, pen stylus inputs, movement of thedevice, oral instructions, detected eye movements, biometric inputs,and/or any combination thereof, which may be utilized as inputscorresponding to sub-events which define an event to be recognized.

FIG. 2 illustrates a portable multifunction device 100 having a touchscreen 112 in accordance with some embodiments. The touch screen maydisplay one or more graphics within user interface (UI) 200. In thisembodiment, as well as others described below, a user may select one ormore of the graphics by making a gesture on the graphics, for example,with one or more fingers 202 (not drawn to scale in the figure) or oneor more styluses 203 (not drawn to scale in the figure). In someembodiments, selection of one or more graphics occurs when the userbreaks contact with the one or more graphics. In some embodiments, thegesture may include one or more taps, one or more swipes (from left toright, right to left, upward and/or downward) and/or a rolling of afinger (from right to left, left to right, upward and/or downward) thathas made contact with device 100. In some embodiments, inadvertentcontact with a graphic may not select the graphic. For example, a swipegesture that sweeps over an application icon may not select thecorresponding application when the gesture corresponding to selection isa tap.

Device 100 may also include one or more physical buttons, such as “home”or menu button 204. As described previously, menu button 204 may be usedto navigate to any application 136 in a set of applications that may beexecuted on device 100. Alternatively, in some embodiments, the menubutton is implemented as a soft key in a GUI displayed on touch screen112.

In one embodiment, device 100 includes touch screen 112, menu button204, push button 206 for powering the device on/off and locking thedevice, volume adjustment button(s) 208, Subscriber Identity Module(SIM) card slot 210, head set jack 212, and docking/charging externalport 124. Push button 206 may be used to turn the power on/off on thedevice by depressing the button and holding the button in the depressedstate for a predefined time interval; to lock the device by depressingthe button and releasing the button before the predefined time intervalhas elapsed; and/or to unlock the device or initiate an unlock process.In an alternative embodiment, device 100 also may accept verbal inputfor activation or deactivation of some functions through microphone 113.

FIG. 3 is a block diagram of an exemplary multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments. Device 300 need not be portable. In some embodiments,device 300 is a laptop computer, a desktop computer, a tablet computer,a multimedia player device, a navigation device, an educational device(such as a child's learning toy), a gaming system, or a control device(e.g., a home or industrial controller). Device 300 typically includesone or more processing units (CPU's) 310, one or more network or othercommunications interfaces 360, memory 370, and one or more communicationbuses 320 for interconnecting these components. Communication buses 320may include circuitry (sometimes called a chipset) that interconnectsand controls communications between system components. Device 300includes input/output (I/O) interface 330 comprising display 340, whichis typically a touch screen display. I/O interface 330 also may includea keyboard and/or mouse (or other pointing device) 350 and touchpad 355.Memory 370 includes high-speed random access memory, such as DRAM, SRAM,DDR RAM or other random access solid state memory devices; and mayinclude non-volatile memory, such as one or more magnetic disk storagedevices, optical disk storage devices, flash memory devices, or othernon-volatile solid state storage devices. Memory 370 may optionallyinclude one or more storage devices remotely located from CPU(s) 310. Insome embodiments, memory 370 stores programs, modules, and datastructures analogous to the programs, modules, and data structuresstored in memory 102 of portable multifunction device 100 (FIG. 1), or asubset thereof. Furthermore, memory 370 may store additional programs,modules, and data structures not present in memory 102 of portablemultifunction device 100. For example, memory 370 of device 300 maystore drawing module 380, presentation module 382, word processingmodule 384, website creation module 386, disk authoring module 388,and/or spreadsheet module 390, while memory 102 of portablemultifunction device 100 (FIG. 1) may not store these modules.

Each of the above identified elements in FIG. 3 may be stored in one ormore of the previously mentioned memory devices. Each of the aboveidentified modules corresponds to a set of instructions for performing afunction described above. The above identified modules or programs(i.e., sets of instructions) need not be implemented as separatesoftware programs, procedures or modules, and thus various subsets ofthese modules may be combined or otherwise re-arranged in variousembodiments. In some embodiments, memory 370 may store a subset of themodules and data structures identified above. Furthermore, memory 370may store additional modules and data structures not described above.

Attention is now directed towards embodiments of user interfaces (“UI”)that may be implemented on portable multifunction device 100.

FIG. 4A illustrates an exemplary user interface for a menu ofapplications on portable multifunction device 100 in accordance withsome embodiments. Similar user interfaces may be implemented on device300. In some embodiments, user interface 400 includes the followingelements, or a subset or superset thereof:

-   -   Signal strength indicator(s) 402 for wireless communication(s),        such as cellular and Wi-Fi signals;    -   Time 404;    -   Bluetooth indicator 405;    -   Battery status indicator 406;    -   Tray 408 with icons for frequently used applications, such as:        -   Phone 138, which may include an indicator 414 of the number            of missed calls or voicemail messages;        -   E-mail client 140, which may include an indicator 410 of the            number of unread e-mails;        -   Browser 147; and        -   Video and music player 152, also referred to as iPod            (trademark of Apple Inc.) module 152; and    -   Icons for other applications, such as:        -   IM 141;        -   Image management 144;        -   Camera 143;        -   Weather 149-1;        -   Stocks 149-2;        -   Workout support 142;        -   Calendar 148;        -   Alarm clock 149-4;        -   Map 154;        -   Notes 153:        -   Settings 412, which provides access to settings for device            100 and its various applications 136: and        -   Online video module 155, also referred to as YouTube            (trademark of Google Inc.) module 155.

FIG. 4B illustrates an exemplary user interface on a device (e.g.,device 300, FIG. 3) with a touch-sensitive surface 451 (e.g., a tabletor touchpad 355, FIG. 3) that is separate from the display 450 (e.g.,touch screen display 112). Although many of the examples which followwill be given with reference to inputs on touch screen display 112(where the touch sensitive surface and the display are combined), insome embodiments, the device detects inputs on a touch-sensitive surfacethat is separate from the display, as shown in FIG. 4B. In someembodiments the touch sensitive surface (e.g., 451 in FIG. 4B) has aprimary axis (e.g., 452 in FIG. 4B) that corresponds to a primary axis(e.g., 453 in FIG. 4B) on the display (e.g., 450). In accordance withthese embodiments, the device detects contacts (e.g., 460 and 462 inFIG. 4B) with the touch-sensitive surface 451 at locations thatcorrespond to respective locations on the display (e.g., in FIG. 4B, 460corresponds to 468 and 462 corresponds to 470). In this way, user inputs(e.g., contacts 460 and 462, and movements thereof) detected by thedevice on the touch-sensitive surface (e.g., 451 in FIG. 4B) are used bythe device to manipulate the user interface on the display (e.g., 450 inFIG. 4B) of the multifunction device when the touch-sensitive surface isseparate from the display. It should be understood that similar methodsmay be used for other user interfaces described herein.

Additionally, while the following examples are given primarily withreference to finger inputs (e.g., finger contacts, finger tap gestures,finger swipe gestures), it should be understood that, in someembodiments, one or more of the finger inputs are replaced with inputfrom another input device (e.g., a mouse based input or stylus input).For example, a swipe gesture may be replaced with a mouse click (e.g.,instead of a contact) followed by movement of the cursor along the pathof the swipe (e.g., instead of movement of the contact). As anotherexample, a tap gesture may be replaced with a mouse click while thecursor is located over the location of the tap gesture (e.g., instead ofdetection of the contact followed by ceasing to detect the contact).

User Interfaces and Associated Processes

Attention is now directed towards embodiments of user interfaces (“UI”)and associated processes that may be implemented on an electronic devicewith a display and a touch-sensitive surface, such as device 300 orportable multifunction device 100.

FIGS. 5A-5S illustrate exemplary user interfaces for switching betweenuser interfaces, including switching between a text-based authenticationuser interface and a gesture-based authentication user interface, inaccordance with some embodiments. The user interfaces in these figuresare used to illustrate the processes described below, including theprocesses in FIGS. 6A-6C, and 7A-7B.

FIG. 5A illustrates user interface 500-A that includes text-basedauthentication user interface 501 (hereinafter “text-based interface”for convenience) displayed on a touch-sensitive display (e.g., touchscreen 112) of a device (e.g., device 100). The text-based interface 501is associated with a network, system, device, service, or store (e.g.,an email, messaging, or other communication or collaboration service; aremote private network (e.g., a corporate internal network); apoint-of-sale system, a digital content store; a digital applicationstore; a mobile device, and so forth), and may be used to log into thenetwork, system, device, service, or store (hereinafter collectivelyreferred to as a “destination system” for convenience) as a userassociated with a particular account or identity in the destinationsystem. In some embodiments, the destination system to be logged into isthe device on which text-based interface 501 is displayed (e.g., device100).

Displayed within the text-based interface 501 are username field 502,password field 504, and soft keyboard 506. In some embodiments, optionsbutton 508, password recovery/reset (with button text “Forgot password”)button 510, and sign-in button 512 are also displayed in text-basedinterface 501. In some embodiments, options button 508 and/or passwordrecovery/reset button 510 may be omitted from display in text-basedinterface 501.

A user may use soft keyboard 506 to enter a username and anauthentication code (also referred to as a password), each of which hasat least one character, into username 502 and password 504 fields,respectively (e.g., by performing tap gestures on keys in soft keyboard506 to activate the keys). For example, as shown in FIG. 5A, username“joe_smith” and a password, obscured by asterisks for security purposes,are entered into username 502 and password 504 fields, respectively.Gesture 514 (e.g., a tap gesture) is detected on sign-in button 512. Inresponse to detection of gesture 514, sign-in button 512 is activated.In response to activation of sign-in button 512, device 100 submits thecontents of username 502 and password 504 fields to the destinationsystem for authentication. If the username and password combination isapproved by the destination system, the user is logged into thedestination system as the account or identity associated with theusername/password combination. If either the username or password isincorrect, the user may be notified of the error and be prompted tore-enter and re-submit the username and password.

In some embodiments, if the user has forgotten his password, the usermay activate a password recovery/reset button 510 using a gesture (e.g.,a tap gesture similar to gesture 514) to initiate a password recovery orreset process.

In some embodiments, a user may activate options button 508 using agesture (e.g., a tap gesture similar to gesture 514). In response to theactivation of options button 508, additional options are displayed ondisplayed 112. Examples of such options are described further below.

In some embodiments, when a user successfully authenticates from device100 using text-based authentication, device 100 retains (e.g., inauthentication module 159) the username and optionally the password fromthe successful authentication. In a subsequent authentication attemptfrom the same device 100 without an intervening successfulauthentication by a different user, device 100 “reuses” the retainedusername and/or password and may populate the retained username/and orpassword in username 502 and password 504 fields, so that the same usermay save time entering the username and/or password.

Also displayed in text-based interface 501 is graphical object 516.Graphical object 516 may include text, graphics, or a combinationthereof. In some embodiments, graphical object 516 is a button, a slidercontrol, a logo, or other icon. Graphical object 516 is displayed ingraphical object area 518, which corresponds to an activation region forgraphical object 516. The activation region for graphical object 516 istypically a hidden hit region that may extend beyond the displayedextent of graphical object 516 (as indicated by the dotted lines forarea 518). In some embodiments, graphical object area 518 is located onone side of text-based interface 501 (e.g., a side adjacent to a side ofdisplay 112), as shown in FIG. 5A. In some embodiments, one or morehints 520 for the user are optionally displayed (e.g., in graphicalobject area 518).

FIG. 5B illustrates user interface 500-B, which includes text-basedinterface 501. A gesture (e.g., gesture 522) in direction 524 isdetected that starts at a location of graphical object 516. In someembodiments, gesture 522 is initiated from a location within graphicalobject area 518, and not directly on graphical object 516. In someembodiments, gesture 522 is a swipe or drag gesture moving in direction524. In some other embodiments, gesture 522 is a tap gesture. In someembodiments, hint 520 is directed to informing the user that a gesture,as in gesture 522, may be performed, initiating from a location ofgraphical object 516, as shown in FIG. 5B.

In response to the detection of gesture 522, text-based interface 501moves out of view and gesture-based authentication user interface 526(hereinafter “gesture-based interface” for convenience) moves into view,as shown in FIGS. 5C-5D. FIG. 5C includes user interface 500-C, in whichtext-based interface 501 moves, gradually out of view, in direction 525,and gesture-based interface 526 moving, gradually into view, indirection 525. In some embodiments, direction 525 matches direction 524of gesture 522. Graphical object area 518, including graphical object516, moves along between text-based interface 501 and gesture-basedinterface 526 in direction 525. In some embodiments, gesture 522 is adragging gesture, and the movement of text-based interface 501,graphical object area 518, and gesture-based interface 526, moves alongin accordance with the dragging movement of gesture 522; interfaces 501,526 and graphical object area 518 move when gesture 522 moves and pauseswhen gesture 522 pauses. In some other embodiments, gesture 522 is aswipe gesture, and text-based interface 501, graphical object area 518,and gesture-based interface 526 move without synchronization withgesture 522; once gesture 522 is detected, interfaces 501, 526 andgraphical object area 518 move without regard to whether gesture 522pauses. In some embodiments, the movement of text-based interface 501,graphical object area 518, and gesture-based interface 526 is displayedas an animation showing the transition from text-based interface 501 togesture-based interface 526.

FIG. 5D includes user interface 500-D, which includes gesture-basedinterface 526 after the completion of the movement shown in FIG. 5C.Gesture-based interface 526 includes a plurality of authenticationgesture objects 528, options button 530, sign-in button 532. In someembodiments, a username 534 retained from the most recent successfulauthentication is displayed. When username 534 is displayed, the usermaking the authentication attempt is attempting to authenticate as theaccount or identity associated with the displayed username 534.

In some embodiments, text-based interface 501 and gesture-basedinterface 526 are part of the same authentication application;text-based interface 501 is one page in the application andgesture-based interface 526 is another page in the application.

Also displayed in gesture-based interface 526 is graphical object area518, including graphical object 516. In some embodiments, ingesture-based interface 526, graphical object area 518 and graphicalobject 516 are on the opposite side to where graphical object area 518and graphical object 516 are displayed in text-based interface 501. Insome embodiments, hint 536, which is similar to hint 520, is displayed(e.g., in graphical object area 518).

In FIG. 5D, a gesture (e.g., gesture 538) in direction 540 is detectedthat starts from a location of graphical object 516. In someembodiments, gesture 538 is initiated from a location within graphicalobject area 518, and not directly on graphical object 516. In someembodiments, gesture 538 is a swipe or drag gesture moving in direction540. In some other embodiments, gesture 538 is a tap gesture. In someembodiments, hint 536 is directed to informing the user that a gesture,such as gesture 538, may be performed, starting from a location ofgraphical object 516, as shown in FIG. 5D. In some embodiments,direction 540 is the reverse of direction 524 of gesture 522; gesture538 is the reverse of gesture 522.

In response to the detection of gesture 538, gesture-based interface 526moves out of view and text-based interface 501 moves back into view, asshown in FIGS. 5E-5F. FIG. 5E includes user interface 500-E, in whichtext-based interface 501 moves, gradually into view, in direction 542,and gesture-based interface 526 moves, gradually out of view, indirection 542. Direction 542 is the same as direction 540 of gesture538. The movement shown in FIG. 5E is the reverse of the movement shownin FIG. 5C, and the details regarding the movement shown in FIG. 5C, asdescribed above, apply analogously to the movement shown in FIG. 5E.When the movement is completed, user interface 500-F, includingtext-based interface 501, is displayed on display 112, as shown in FIG.5F.

FIG. 5G illustrates user interface 500-G, which includes gesture-basedinterface 526. As described above, gesture-based interface 526 includesa plurality of authentication gesture objects 528 (hereinafter “gestureobjects” for convenience). Authentication gesture 544, which includesstrokes 546-1 thru 546-5, is detected on display 112. Authenticationgesture 544 is input by the user in lieu of a password entered usingsoft keyboard 506; authentication gesture 544 is a gesture-basedauthentication code, where the pattern of strokes 546 is the code. Insome embodiments, an authentication gesture, such as authenticationgesture 544, begins with a finger contact on one of gesture objects 528(e.g., in FIG. 5G, authentication gesture 544 begins on gesture object528-1). The finger contact, staying on display 112, moves in strokesfrom one gesture object 528 to another. The authentication gesture endswhen the finger contact is lifted from display 112 (e.g., at one ofgesture objects 528). Thus, in FIG. 5G, authentication gesture 544starts from gesture object 528-1 with stroke 546-1, includes strokes546-2 thru 546-5, and pauses at gesture object 528-3. If the fingercontact corresponding to authentication gesture 544 lifts off fromdisplay 112 at this point, authentication gesture 544 is completed.

In some embodiments, respective strokes 546 in authentication gesture544 are displayed differently based on the order of the strokes 546. Forexample, earlier strokes 546 within authentication gesture 544 aredisplayed with a lighter color or shade or more transparency or lessthickness, and later strokes within authentication gesture 544 aredisplayed with a darker color or shade or more opaqueness or morethickness.

In some embodiments, the user can perform a gesture in an empty space ingesture-based interface 526 or on username 534 (e.g., a tap gesture inan empty space, or a double-tap gesture on username 534) to clearauthentication gesture 544 and start over.

In some embodiments, when authentication gesture 544 is completed,authentication gesture 544 and username 534 are automatically submittedto the destination system for authentication. In some other embodiments,when authentication gesture 544 is completed, the user then activatessign-in button 532 (e.g., by performing tap gesture 548 on sign-inbutton 532) to submit username 534 and authentication gesture 544 to thedestination system for authentication. If the destination approves thecombination of username 534 and authentication gesture 544, the user islogged in as the account/identity identified by username 534. Ifauthentication gesture 544 is incorrect, the user may be prompted tore-input a correct authentication gesture.

In gesture-based interface 526, gesture 550 (e.g., a tap gesture) may bedetected on options button 530. In response to detection of gesture 550,options button 530 is activated, which activates display of menu 552 ondisplay 112, as shown in FIG. 5H. FIG. 5H includes user interface 500-H,which includes gesture-based interface 526 and menu 552 partially overgesture-based interface 526. Username 534 may also be displayed. Menu552 includes reset gesture button 554, switch user button 556, andcancel button 558. One of buttons 554, 556, and 558 may be activated byperforming a gesture (e.g., a tap gesture) on the respective button.Activation of cancel button 558 cancels menu 552, removing menu 552 fromdisplay. Activation of reset gesture button 554 activates a process forresetting an authentication gesture associated with an account oridentity at the destination system (e.g., the account associated withdisplayed username 534).

Gesture 560 (e.g., a tap gesture) is detected on switch user button 556.In response to detection of gesture 560 on switch user button 556, theusername and password retained from the last successful authenticationfrom device 100 is cleared. For example, username 534 is not displayedin gesture-based interface 526. In some embodiments, the nextauthentication attempt from device 100 to the destination system must beperformed using text-based interface 501 (i.e., the next authenticationattempt must be done using text-based authentication).

In some embodiments, retained username information (e.g., username 534)is cleared automatically after elapse of a predefined time period (e.g.,1, 2, 4, 8, 24 hours) since the last login using the retained username(without an intervening log-in using another username).

FIG. 5I includes user interface 500-I, which includes text-basedinterface 501. Gesture 562 is detected on options button 508. Inresponse to detection of gesture 562 on options button 508, a menu (notshown) similar to menu 552 (FIG. 5H) may be displayed. The menu mayinclude switch user button 556 and cancel button 558, as well as otherbuttons, such as a button to create an authentication gesture. When thebutton to create an authentication gesture is activated, the user isprompted through a process to create an authentication gesture for theuser's account at the destination system. A version of gesture-basedinterface 526 is displayed to the user, where the user will perform thedesired authentication gesture and submit it to the destination system.

FIG. 5J illustrates user interface 500-J that includes first userinterface 564 displayed on a touch-sensitive display (e.g., touch screen112) of a device (e.g., device 100). First user interface 564 mayinclude any number of user interface objects (e.g., text fields,buttons, slider controls, graphics, text, etc.). In some embodiments,first user interface 564 is a text-based authentication user interface(e.g., text-based interface 501). First user interface 564 includesgraphical object 566. Graphical object 566 may include text, graphics,or a combination thereof. In some embodiments, graphical object 566 is abutton, a slider control, a logo, or other icon. Graphical object 566 isanalogous to graphical object 516, described above with reference toFIG. 5A. Graphical object 566 has length 572.

Graphical object 566 is displayed near or adjacent to one side ofdisplay 112. In some embodiments, graphical object 566 is displayed nearor adjacent to the top side of display 112, as shown in FIG. 5J. In someembodiments, graphical object 566 is displayed near or adjacent to thebottom side of display 112.

Graphical object 566 has a corresponding activation region. Theactivation region is where a gesture must begin in order to activate oraffect graphical object 566. In some embodiments, the activation regionof graphical object 566 is the graphical object itself or the area of abounding box around graphical object 566, with length 572. In some otherembodiments, graphical object 566 has activation region 568 with length574 that is equal to or greater than length 572. In some embodiments,length 574 is the same length as the length 570 of the side of display112 near which graphical object 566 is displayed. It should be notedthat in FIG. 5J, length 574 is shown as slightly shorter than length 570in order to show the contours of activation region 568. In someembodiments, length 572 is the same as length 570; graphical object 566spans length 570.

Gesture 576 is detected on graphical object 566 (or on activation region568). In some embodiments, gesture 576 is a swipe or drag gesture movingin direction 578. In some other embodiments, gesture 576 is a tapgesture.

In response to detection of gesture 576 on graphical object 566 oractivation region 568, first user interface 564 is replaced on display112 by second user interface 580 (FIG. 5L). In some embodiments, ananimation showing the transition from first user interface 564 to seconduser interface 580 is displayed. FIG. 5K illustrates an instant in theanimation showing the transition from first user interface 564 to seconduser interface 580. FIG. 5K includes user interface 500-K, whichincludes first user interface 564 moving out of view in direction 579and second user interface 580 moving into view in direction 579.Graphical object 566 and the corresponding activation region 568 movealong in direction 579 as well, from the top side of display 112 towardthe bottom side of display 112. In some embodiments, direction 579matches direction 578 of gesture 576.

FIG. 5L includes user interface 500-L, which shows a second userinterface 580 displayed on display 112 (e.g., after the completion ofthe transition animation illustrated in FIG. 5K). In some embodiments,second user interface 580 is a gesture-based authentication userinterface (e.g., gesture-based interface 526). Graphical object 566 isdisplayed near or adjacent to the bottom side of display 112, and thecorresponding activation region 568 has relocated to the bottom side ofdisplay 112 along with graphical object 566.

In FIG. 5L, gesture 582 is detected on graphical object 566 (or onactivation region 568). In some embodiments, gesture 582 is a swipe ordrag gesture moving in direction 584. In some embodiments, direction 584is the reverse of direction 578 of gesture 576; gesture 582 is thereverse of gesture 576. In some other embodiments, gesture 582 is a tapgesture.

In response to detection of gesture 582 on graphical object 566 oractivation region 568, second user interface 580 is replaced on display112 by first user interface 564 (FIG. 5N). In some embodiments, ananimation showing the transition from second user interface 580 to firstuser interface 564 is displayed. FIG. 5M illustrates an instant in theanimation showing the transition from second user interface 580 to firstuser interface 564. FIG. 5M includes user interface 500-M, whichincludes first user interface 564 moving into view in direction 585 andsecond user interface 580 moving out of view in direction 585. Graphicalobject 566 and the corresponding activation region 568 move along indirection 585 as well, from the bottom side of display 112 toward thetop side of display 112. In some embodiments, direction 585 matchesdirection 584 of gesture 582.

FIG. 5N includes user interface 500-N, which shows first user interface564 redisplayed on display 112 (e.g., after the completion of thetransition animation illustrated in FIG. 5M). Graphical object 566 isdisplayed near or adjacent to the top side of display 112, and thecorresponding activation region 568 has relocated to the top side ofdisplay 112 along with graphical object 566.

FIG. 5O illustrates user interface 500-O that includes first userinterface 564, with graphical object 586 displayed near or adjacent tothe left side of display 112, as opposed to graphical object 566displayed near or adjacent to the top side of display 112. Graphicalobject 586 may include text, graphics, or a combination thereof. In someembodiments, graphical object 586 is a button, a slider control, a logo,or other icon. Graphical object 586 is analogous to graphical object516, described above with reference to FIG. 5A. Graphical object 586 haslength 587.

In some embodiments, graphical object 586 is displayed near or adjacentto the left side of display 112, as shown in FIG. 5O. In someembodiments, graphical object 586 is displayed near or adjacent to theright side of display 112.

Graphical object 586 has a corresponding activation region. Theactivation region is where a gesture must begin in order to activate oraffect graphical object 586. In some embodiments, the activation regionof graphical object 586 is the graphical object itself or the area of abounding box around graphical object 586, with length 587. In some otherembodiments, graphical object 586 has activation region 588 with length592 that is equal to or greater than length 587. In some embodiments,length 592 is the same length as the length 590 of the side of display112 near which graphical object 586 is displayed. It should be notedthat in FIG. 5O, length 592 is shown as slightly shorter than length 590in order to show the contours of activation region 588. In someembodiments, length 587 is the same as length 590; graphical object 586spans length 590.

Gesture 594 is detected on graphical object 586 (or on activation region588). In some embodiments, gesture 594 is a swipe or drag gesture movingin direction 596. In some other embodiments, gesture 594 is a tapgesture.

In response to detection of gesture 594 on graphical object 586 oractivation region 588, first user interface 564 is replaced on display112 by second user interface 580 (FIG. 5Q). In some embodiments, ananimation showing the transition from first user interface 564 to seconduser interface 580 is displayed. FIG. 5P illustrates an instant in theanimation showing the transition from first user interface 564 to seconduser interface 580. FIG. 5P includes user interface 500-P, whichincludes first user interface 564 moving out of view in direction 597and second user interface 580 moving into view in direction 597.Graphical object 586 and the corresponding activation region 588 movealong in direction 597 as well, from the left side of display 112 towardthe right side of display 112. In some embodiments, direction 597matches direction 596 of gesture 594.

FIG. 5Q includes user interface 500-Q, which shows second user interface580 displayed on display 112 (e.g., after the completion of thetransition animation illustrated in FIG. 5P). Graphical object 586 isdisplayed near or adjacent to the right side of display 112, and thecorresponding activation region 588 has relocated to the right side ofdisplay 112 along with graphical object 586.

In FIG. 5Q, gesture 598 is detected on graphical object 586 (oractivation region 588). In some embodiments, gesture 598 is a swipe ordrag gesture moving in direction 5102. In some embodiments, direction5102 is the reverse of direction 596 of gesture 594; gesture 594 is thereverse of gesture 598. In some other embodiments, gesture 598 is a tapgesture.

In response to detection of gesture 598 on graphical object 586 oractivation region 588, second user interface 580 is replaced on display112 by first user interface 564 (FIG. 5S). In some embodiments, ananimation showing the transition from second user interface 580 to firstuser interface 564 is displayed. FIG. 5R illustrates an instant in theanimation showing the transition from second user interface 580 to firstuser interface 564. FIG. 5R includes user interface 500-R, whichincludes first user interface 564 moving into view in direction 5104 andsecond user interface 580 moving out of view in direction 5104.Graphical object 586 and the corresponding activation region 588 movealong in direction 5104 as well, from the right side of display 112toward the left side of display 112. In some embodiments, direction 5104matches direction 5102 of gesture 598.

FIG. 5S includes user interface 500-S, which shows first user interface564 displayed on display 112 (e.g., after the completion of thetransition animation illustrated in FIG. 5S). Graphical object 586 isdisplayed near or adjacent to the left side of display 112, and thecorresponding activation region 588 has relocated to the left side ofdisplay 112 along with graphical object 586.

FIGS. 6A-6C are flow diagrams illustrating a method 600 of switchingbetween a text-based authentication user interface and a gesture-basedauthentication user interface in accordance with some embodiments. Themethod 600 is performed at an electronic device (e.g., device 300, FIG.3, or portable multifunction device 100, FIG. 1) with a display and atouch-sensitive surface. In some embodiments, the display is a touchscreen display and the touch-sensitive surface is on the display. Insome embodiments, the display is separate from the touch-sensitivesurface. Some operations in method 600 may be combined and/or the orderof some operations may be changed.

As described below, the method 600 provides an intuitive way to switchbetween a text-based authentication user interface and a gesture-basedauthentication user interface. The method reduces the cognitive burdenon a user when switching between a text-based authentication userinterface and a gesture-based authentication user interface, therebycreating a more efficient human-machine interface. For battery-operatedelectronic devices, enabling a user to switch between a text-basedauthentication user interface and a gesture-based authentication userinterface faster and more efficiently conserves power and increases thetime between battery charges.

The device displays a first authentication user interface on a display,the first authentication user interface including a text entry field forentering a text-based authentication code (602). For example, in FIG.5A, text-based interface 501, which includes password field 504 forentering a text-based authentication code or password, is displayed ondisplay 112. The first authentication user interface also typicallyincludes another text entry field for entering a username (e.g. usernamefield 502, FIG. 5A). In some embodiments, the first authentication userinterface includes a soft keyboard (e.g., soft keyboard 506, FIG. 5A)for entering text in the text entry field(s).

The device detects a first input by a user on the touch-sensitivesurface while displaying the first authentication user interface (604).For example, in FIG. 5B, gesture 522 by a user is detected ontouch-sensitive display 112 while text-based interface 501 is displayed.

In some embodiments, the first input is a swipe gesture (606). Gesture522, for example, may be a swipe gesture with direction 524. In someembodiments, the swipe gesture is vertical (i.e., up or down). In someembodiments, the swipe gesture is horizontal (i.e., left or right, notshown).

In some embodiments, the first input is a drag gesture (608). Gesture522, for example, may be a drag gesture with direction 524. In someembodiments, the drag gesture is vertical (i.e., up or down), in someembodiments, the drag gesture is horizontal (i.e., left or right, notshown). In some embodiments, the first input is a drag gesture thatstarts on a particular graphical object (e.g., a logo, a slider control,a button, or other icon). Gesture 522, for example, starts on graphicalobject 516.

In some embodiments, the first input is a tap gesture (610). In someembodiments, the first input is a tap gesture on a particular graphicalobject (e.g., a logo, a slider control, a button, or other icon). Forexample, gesture 522 may be a tap gesture on graphical object 516.

In response to detecting the first input, the device displays a secondauthentication user interface on the display, distinct from the firstauthentication user interface, where the second authentication userinterface is configured for entering a gesture-based authentication code(612). For example, in FIGS. 5B-5D, in response to detection of gesture522, gesture-based interface 526, which is distinct from text-basedinterface 501, is displayed. Gesture-based interface 526 is configuredfor entering a gesture-based authentication code using gesture objects528.

In some embodiments, when gesture-based interface 526 is displayed to auser who does not have a gesture-based authentication code associatedwith his account, introductory messages and/or instructions regardingcreating the gesture-based authentication code are displayed.

Switching from displaying a text-based authentication user interface toa gesture-based authentication user interface is advantageous in thatthe gesture-based authentication user interface may provide a quickerway for a user to authenticate himself. Quicker authentication is usefulin situations Where the user is already associated with the device(e.g., through a prior authentication using a text-based authenticationcode) and has to login and logout through the same device repeatedlylogging into and out of a point-of-sale system through a mobile device).

In some embodiments, displaying the second authentication user interfacein response to detecting the first input includes replacing display ofthe first authentication user interface with display of the secondauthentication user interface (614). For example, in response to gesture522, text-based interface 501 is replaced on display 112 withgesture-based interface 526, as shown in FIGS. 5C-5D.

In some embodiments, displaying the second authentication user interfacein response to detecting the first input includes displaying ananimation of the second authentication user interface replacing thefirst authentication user interface (616). For example, FIG. 5C shows aninstant in an animation transitioning from text-based interface 501 togesture-based interface 526.

In some embodiments, the first input is initiated at a location on thetouch-sensitive surface that corresponds to a location of a graphicalobject on the display, the graphical object being displayed in both thefirst authentication user interface and the second authentication userinterface (618). For example, in some embodiments, if the first input isa drag gesture, the drag gesture must start on a particular graphicalobject (such as graphical object 516 (FIG. 5B), a logo, a slidercontrol, a button, or other icon). Otherwise, the drag gesture will notresult in display of the gesture-based authentication user interface. Inaddition, the particular graphical object is also displayed in thegesture-based authentication user interface (e.g., gesture-basedinterface 526, FIG. 5D). For example, in FIG. 5B, gesture 522 isinitiated on graphical object 516. Graphical object 516 is displayed inboth text-based interface 501 and gesture-based interface 526.

In some embodiments, the graphical object moves from a first location onthe display in the first authentication user interface to a secondlocation on the display in the second authentication user interface,distinct from the first location on the display (620). For example,graphical object 516 moves from the top of the display in the firstauthentication user interface (FIG. 5B) to the bottom of the display inthe second authentication user interface (FIG. 5D). Alternatively, theobject may move between the left side of the display and the right sideof the display (not shown). In some embodiments, the object moves from afirst side of the display to a second side of the display, opposite thefirst side. This movement and continuous display of the graphical objectin both the first and second user interfaces helps to remind a user howto go back and forth (toggle) between the two interfaces.

In some embodiments, the device, while displaying the secondauthentication user interface, detects a second input that is initiatedat a location on the touch-sensitive surface that corresponds to alocation of the graphical object on the display (622). In response todetecting the second input, the device replaces display of the secondauthentication user interface with display of the first authenticationuser interface via an animated transition) (624). For example, whilegesture-based interface 526 is displayed, gesture 538 is detected ongraphical object 516 (FIG. 5D). In response to detection of gesture 528,gesture-based interface 516 is replaced on the display with text-baseinterface 501 through an animated transition (FIGS. 5D-5F).

In some embodiments, the first input is a swipe gesture in a firstdirection and the second input is a swipe gesture in a directionopposite to the first direction. For example, gesture 522 may be a swipegesture in direction 524, and gesture 538 may be a swipe gesture indirection 540.

In some embodiments, the first input is a drag gesture in a firstdirection and the second input is a drag gesture in a direction oppositeto the first direction. For example, gesture 522 may be a drag gesturein direction 524, and gesture 538 may be a drag gesture in direction540.

While displaying the second authentication user interface, the devicedetects one or more gestures by the user at locations on thetouch-sensitive surface that correspond to locations on the secondauthentication user interface (630). In some embodiments, theauthentication gesture is a single, continuous gesture on thetouch-sensitive surface. In some embodiments, the one or more gesturesare a series of gestures (e.g., strokes) on the touch-sensitive surface.For example, in FIG. 5G, authentication gesture 544 is detected.Authentication gesture 544 includes one or more strokes 546 thatintersect with one or more gesture objects 528 in gesture-basedinterface 526.

The device authenticates the user in accordance with a determinationthat the detected one or more gestures correspond to a gesture-basedauthentication code for the user (632). In some embodiments,authentication of a username/gesture combination is performed as soon asthe gesture is completed (e.g., for a single continuous gesture, whenthe finger lifts off the touch-sensitive surface). In some embodiments,authentication of a username/gesture combination is performed when theuser activates a sign-on button or other similar control after thegesture (or gestures) is completed. For example, in FIG. 5G, gesture 548is detected on sign-in button 532, which activates sign-in button 532.In response to activation of sign-in button 532, authentication gesture544 and username 534 is submitted to the destination system forauthentication. The user is authenticated if the destination systemdetermines that the authentication gesture 544 is correct for username534.

In some embodiments, use of gesture-based authentication at theelectronic device requires a prior authentication of the user at theelectronic device via text-based authentication (634). In someembodiments, a respective user must authenticate on the device with atext password first before the gesture password feature is enabled atthe device for the respective user. For example, after activation ofswitch user button 560, the device is no longer associated with aspecific user name. The next authentication attempt from the device mustbe done using text-based authentication (e.g., via text-based interface501).

In some embodiments, use of gesture-based authentication requires aprior authentication of the user at the electronic device via text-basedauthentication without any intervening authentication at the electronicdevice by another user (636). For example, device 100 in FIGS. 5D-5F isassociated with the username “joe_smith.” If a different user logs in asa different user in text-based interface 501, username “joe_smith” isnot associated with the device anymore and gesture-based authenticationfor user “joe_smith” is not available until he logs in again usingtext-based interface 501.

In some embodiments, use of gesture-based authentication requires aprior authentication of the user at the electronic device via text-basedauthentication within a predefined time period (e.g., 1, 4, 8, or 24hours) (638). For example, retained username information for associatingdevice 100 with a user after the user logged in using text-basedinterface 501 may be cleared automatically after a predefined timeperiod since the last login by the user. Thus, if the user wishes to login using gesture-based interface 526, the user must log in before thetime period elapses and the username is cleared. As another example, theusername is retained, but the user still has to authenticate viatext-based authentication after a predefined time period has elapsedsince the user's last gesture-based or text-based authentication. Asanother example, the username is retained, but the user still has toauthenticate via text-based authentication after a predefined timeperiod has elapsed since the user's last text-based authentication.

In some embodiments, authenticating the user provides access to one of:a remote computer system, a digital content store, or a digitalapplication store (640). The destination system to which the user logsin may be a remote system, remote network, a digital content store(e.g., a digital music store, a digital video store), or a digitalapplication store (e.g., a mobile phone app store).

FIGS. 7A-7B are flow diagrams illustrating a method 700 of switchingbetween a first user interface and a second user interface, inaccordance with some embodiments. The method 700 is performed at anelectronic device (e.g., device 300, FIG. 3, or portable multifunctiondevice 100, FIG. 1) with a display and a touch-sensitive surface. Insome embodiments, the display is a touch screen display and thetouch-sensitive surface is on the display. In some embodiments, thedisplay is separate from the touch-sensitive surface. Some operations inmethod 700 may be combined and/or the order of some operations may bechanged.

As described below, the method 700 provides an intuitive way to switchbetween a first user interface and a second user interface. The methodreduces the cognitive burden on a user when switching between a firstuser interface and a second user interface, thereby creating a moreefficient human-machine interface. For battery-operated electronicdevices, enabling a user to switch between a first user interface and asecond user interface faster and more efficiently conserves power andincreases the time between battery charges.

The device displays a first user interface on a display, the first userinterface including a graphical object at a first location on thedisplay (702). For example, in FIG. 5J, first user interface 564 isdisplayed on display 112. Graphical object 566 is displayed at a firstlocation on display 112 (e.g., at the top side of display 112).

While displaying the first user interface, the device detects a firstgesture by a user on the touch-sensitive surface, the first gesturestarting at a location on the touch-sensitive surface that correspondsto the first location of the graphical object on the display (704). Forexample, in FIG. 5J, gesture 576 is detected on display 112. Gesture 576starts on a location corresponding to the first location of graphicalobject 566.

In response to detecting the first gesture, the device moves thegraphical object across the display to a second location on the display,distinct from the first location (706). For example, in response todetection of gesture 576, graphical object 566 moves (e.g., continuouslymoves) across display 112 to a second location on display 112 distinctfrom the first location (e.g., bottom side of display 112), as shown inFIGS. 5J-5L.

In some embodiments, the first location is adjacent to a first side ofthe display, and the second location is adjacent to a second side of thedisplay, opposite the first side of the display (708).

In some embodiments, the first side is a top of the display, and thesecond side is a bottom of the display (710). For example, in FIG. 5J,graphical object 566 is adjacent to the top side of display 112. In FIG.5L, graphical object 566 is adjacent to the bottom side (opposite of thetop side) of display 112.

In some other embodiments, the first side is a left side of the display,and the second side is a right side of the display (712). For example,in FIG. 5O, graphical object 586 is adjacent to the left side of display112. In FIG. 5Q, after graphical object 586 moves to a second locationon display 112, graphical object 586 is adjacent to the right side ofdisplay 112.

In some embodiments, the graphical object has a length, the first sideof the display has a length, and the length of the graphical objectequals (or is substantially equal to, e.g., 85%, 90%, or 95%) the lengthof the first side of the display (714). For example, in FIG. 5J, thelength 572 of graphical object 566 may be equal to the length 570 of thetop side of display 112 (not shown).

In some embodiments, the graphical object has an activation region withan activation region length, the first side of the display has a length,and the activation region length equals (or is substantially equal to,e.g., 85%, 90%, or 95%) the length of the first side of the display(716). For example, in FIG. 5J, the length 574 of activation region 568may be equal to the length 570 of the top side of display 112.

Also in response to detecting the first gesture, the device displays asecond user interface on the display, distinct from the first userinterface, the second user interface including the graphical object atthe second location on the display (718). For example, in FIG. 5L, inresponse to detection of gesture 576, second user interface 580 isdisplayed. In second user interface 580, graphical object 566 isdisplayed next to the bottom side of display 112, whereas in first userinterface 564, graphical object 566 is displayed next to the top side ofdisplay 112 (FIG. 5J). As another example, in FIG. 5Q, in response todetection of gesture 594, second user interface 580 is displayed. Insecond user interface 580, graphical object 586 is displayed next to theright side of display 112, whereas in first user interface 564,graphical object 586 is displayed next to the left side of display 112(FIG. 5O).

In some embodiments, displaying the second user interface in response todetecting the first gesture includes replacing display of the first userinterface with display of the second user interface (720). For example,in FIGS. 5J-5L, in response to detection of gesture 576, first userinterface 564 is replaced on the display with second user interface 580.

In some embodiments, displaying the second user interface in response todetecting the first gesture includes displaying an animation of thesecond user interface replacing the first user interface (722). Forexample, FIG. 5K shows an instance in the animated transition from firstuser interface 564 to second user interface 580.

While displaying the second user interface, the device detects a secondgesture by the user on the touch-sensitive surface, the second gesturestarting at a location on the touch-sensitive surface that correspondsto the second location of the graphical object on the display (724). Forexample, gesture 582 (FIG. 5L) is detected on display 112. Gesture 582starts at a location corresponding to the second location of graphicalobject 566.

In some embodiments, the first gesture moves in a first direction on thetouch-sensitive surface, and the second gesture moves in a seconddirection on the touch-sensitive surface, opposite the first direction(726). For example, gesture 576 (FIG. 5J) moves in direction 578, andgesture 582 (FIG. 5L) moves in direction 584; gestures 576 and 582 movein opposite directions.

In some embodiments, the touch-sensitive surface is on the display, thefirst gesture moves in a first direction on the touch-sensitive surfaceaway from a side of the display closest to the first location of thegraphical object on the display, and the second gesture moves in asecond direction on the touch-sensitive surface away from a side of thedisplay closest to the second location of the graphical object on thedisplay (728). For example, gesture 576 (FIG. 5J) moves in direction 578away from the top side of display 112, where graphical object 566 isdisplayed within first user interface 564. Gesture 582 (FIG. 5L) movesin direction 584 away from the bottom side of display 112, wheregraphical object 566 is displayed within second user interface 580.

In some embodiments, the first gesture is a swipe gesture and the secondgesture is a swipe gesture (730). In some embodiments, the swipe gesture(also called a flick gesture) is vertical (e.g., up or down). In someembodiments, the swipe gesture is horizontal (e.g., left or right). Forexample, gesture 576 (FIG. 5J) and gesture 582 (FIG. 5L) may be swipegestures in directions 587 and 584, respectively. As another example,gesture 594 (FIG. 5O) and gesture 598 (FIG. 5Q) may be swipe gestures indirections 596 and 5102, respectively.

In some embodiments, the first gesture is a drag gesture and the secondgesture is a drag gesture (732). In some embodiments, the drag gestureis vertical (e.g., up or down). In some embodiments, the drag gesture ishorizontal (e.g., left or right). For example, gesture 576 (FIG. 5J) andgesture 582 (FIG. 5L) may be drag gestures dragging graphical object 566in directions 587 and 584, respectively. As another example, gesture 594(FIG. 5O) and gesture 598 (FIG. 5Q) may be drag gestures dragginggraphical object 586 in directions 596 and 5102, respectively.

In some embodiments, the first gesture is a tap gesture and the secondgesture is a tap gesture (734). For example, gesture 576 (FIG. 5J) andgesture 582 (FIG. 5L) may be tap gestures on graphical object 566. Asanother example, gesture 594 (FIG. 5O) and gesture 598 (FIG. 5Q) may betap gestures on graphical object 586.

In response to detecting the second gesture, the device moves thegraphical object across the display to the first location on the display(736), and displays the first user interface on the display (738). Forexample, in FIGS. 5L-5N, in response to detection of gesture 582,graphical object 566 is moved across display 112, back to the top sideof display 112 and first user interface 564 is displayed. As anotherexample, in FIGS. 5Q-5S, in response to detection of gesture 598,graphical object 586 is moved back across display 112, to the left sideof display 112 and first user interface 564 is displayed. The movementand continuous display of the graphical object in both the first andsecond user interfaces helps to remind a user how to go back and forth(toggle) between the two interfaces.

In some embodiments, displaying the first user interface in response todetecting the second gesture includes replacing display of the seconduser interface with display of the first user interface (740). Forexample, in FIGS. 5L-5N, in response to detection of gesture 582, seconduser interface 580 is replaced on the display with first user interface564.

In some embodiments, displaying the first user interface in response todetecting the second gesture includes displaying an animation of thefirst user interface replacing the second user interface (742). Forexample, FIG. 5M shows an instance in the animated transition fromsecond user interface 580 to first user interface 564.

In some embodiments, the first user interface is in a first applicationand the second user interface is in the first application (744). Inother words, the first user interface and the second user interface arepart of the same application.

In accordance with some embodiments, FIG. 8 shows a functional blockdiagram of an electronic device 800 configured in accordance with theprinciples of the invention as described above. The functional blocks ofthe device may be implemented by hardware, software, or a combination ofhardware and software to carry out the principles of the invention. Itis understood by persons of skill in the art that the functional blocksdescribed in FIG. 8 may be combined or separated into sub-blocks toimplement the principles of the invention as described above. Therefore,the description herein may support any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 8, an electronic device 800 includes a display unit 802configured to display a first authentication user interface, the firstauthentication user interface including a text entry field for enteringa text-based authentication code; a touch-sensitive surface unit 804configured to receive user inputs; and a processing unit 806 coupled tothe display unit 802 and the touch-sensitive surface unit 804. In someembodiments, the processing unit 906 includes a detecting unit 806, adisplay enabling unit 810, an authenticating unit 812, and a replacingunit 814.

The processing unit 806 is configured to: detect a first input by a useron the touch-sensitive surface unit 804 while the display unit 802displays the first authentication user interface (e.g., with thedetecting unit 808); in response to detecting the first input, enabledisplay of a second authentication user interface on the display unit802, distinct from the first authentication user interface (e.g., withthe display enabling unit 810), the second authentication user interfaceconfigured for entering a gesture-based authentication code; while thedisplay unit 802 displays the second authentication user interface,detect one or more gestures by the user at locations on thetouch-sensitive surface unit 804 that correspond to locations on thesecond authentication user interface (e.g., with the detecting unit808); and authenticate the user in accordance with a determination thatthe detected one or more gestures correspond to a gesture-basedauthentication code for the user (e.g., with the authenticating unit812).

In some embodiments, enabling display of the second authentication userinterface in response to detecting the first input comprises replacingdisplay of the first authentication user interface with display of thesecond authentication user interface (e.g., with the replacing unit814).

In some embodiments, enabling display of the second authentication userinterface in response to detecting the first input comprises enablingdisplay of an animation of the second authentication user interfacereplacing the first authentication user interface.

In some embodiments, the first input is a swipe gesture.

In some embodiments, the first input is a drag gesture.

In some embodiments, the first input is a tap gesture.

In some embodiments, the first input is initiated at a location on thetouch-sensitive surface unit 804 that corresponds to a location of agraphical object on the display unit 802, the graphical object beingdisplayed in both the first authentication user interface and the secondauthentication user interface.

In some embodiments, the graphical object moves from a first location onthe display unit 802 in the first authentication user interface to asecond location on the display unit 802 in the second authenticationuser interface, distinct from the first location on the display unit802.

In some embodiments, the processing unit 806 is configured to: while thedisplay unit 802 displays the second authentication user interface,detect a second input that is initiated at a location on thetouch-sensitive surface unit 804 that corresponds to a location of thegraphical object on the display unit 802 (e.g., with the detecting unit808); and, in response to detecting the second input, replace display ofthe second authentication user interface with display of the firstauthentication user interface (e.g., with the replacing unit 814).

In some embodiments, the first input is a swipe gesture in a firstdirection and the second input is a swipe gesture in a directionopposite to the first direction.

In some embodiments, the first input is a drag gesture in a firstdirection and the second input is a drag gesture in a direction oppositeto the first direction.

In some embodiments, use of gesture-based authentication at theelectronic device 800 requires a prior authentication of the user at theelectronic device 800 via text-based authentication.

In some embodiments, use of gesture-based authentication requires aprior authentication of the user at the electronic device 800 viatext-based authentication without any intervening authentication at theelectronic device 800 by another user.

In some embodiments, use of gesture-based authentication requires aprior authentication of the user at the electronic device 800 viatext-based authentication within a predefined time period.

In some embodiments, authenticating the user provides access to one of:a remote computer system, a digital content store, or a digitalapplication store.

In accordance with some embodiments, FIG. 9 shows a functional blockdiagram of an electronic device 900 configured in accordance with theprinciples of the invention as described above. The functional blocks ofthe device may be implemented by hardware, software, or a combination ofhardware and software to carry out the principles of the invention. Itis understood by persons of skill in the art that the functional blocksdescribed in FIG. 9 may be combined or separated into sub-blocks toimplement the principles of the invention as described above. Therefore,the description herein may support any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 9, an electronic device 900 includes a display unit 902configured to display a first user interface, the first user interfaceincluding a graphical object at a first location on the display unit902; a touch-sensitive surface unit 904 configured to receive gestures;and a processing unit 906 coupled to the display unit 902 and thetouch-sensitive surface unit 904. In some embodiments, the processingunit 906 includes a detecting unit 908, a moving unit 910, a displayenabling unit 912, and a replacing unit 914.

The processing unit 906 is configured to: while the display unit 902displays the first user interface, detect a first gesture by a user onthe touch-sensitive surface unit 904 (e.g., with the detecting unit908), the first gesture starting at a location on the touch-sensitivesurface unit 904 that corresponds to the first location of the graphicalobject on the display unit 902; in response to detecting the firstgesture: move the graphical object across the display unit 902 to asecond location on the display unit 902, distinct from the firstlocation (e.g., with the moving unit 910); and enable display of asecond user interface on the display unit 902, distinct from the firstuser interface (e.g., with the display enabling unit 912), the seconduser interface including the graphical object at the second location onthe display unit 902; while the display unit 902 displays the seconduser interface, detect a second gesture by the user on thetouch-sensitive surface unit 904 (e.g., with the detecting unit 908),the second gesture starting at a location on the touch-sensitive surfaceunit 904 that corresponds to the second location of the graphical objecton the display unit 902; and, in response to detecting the secondgesture: move the graphical object across the display unit 902 to thefirst location on the display unit 902 (e.g., with the moving unit 910);and enable display of the first user interface on the display unit 902(e.g., with the display enabling unit 912).

In some embodiments, the first location is adjacent to a first side ofthe display unit 902, and the second location is adjacent to a secondside of the display unit 902, opposite the first side of the displayunit 902.

In some embodiments, the first side is a top of the display unit 902,and the second side is a bottom of the display unit 902.

In some embodiments, the first side is a left side of the display unit902, and the second side is a right side of the display unit 902.

In some embodiments, the graphical object has a length; the first sideof the display unit 902 has a length; and the length of the graphicalobject equals the length of the first side of the display unit 902.

In some embodiments, the graphical object has an activation region withan activation region length; the first side of the display unit 902 hasa length; and the activation region length equals the length of thefirst side of the display unit 902.

In some embodiments, the first gesture moves in a first direction on thetouch-sensitive surface unit 904, and the second gesture moves in asecond direction on the touch-sensitive surface unit 904, opposite thefirst direction.

In some embodiments, the touch-sensitive surface unit 904 is on thedisplay unit 902; the first gesture moves in a first direction on thetouch-sensitive surface unit 904 away from a side of the display unit902 closest to the first location of the graphical object on the displayunit 902; and the second gesture moves in a second direction on thetouch-sensitive surface unit 904 away from a side of the display unit902 closest to the second location of the graphical object on thedisplay unit 902.

In some embodiments, enabling display of the second user interface inresponse to detecting the first gesture comprises replacing display ofthe first user interface with display of the second user interface(e.g., with the replacing unit 914); and enabling display of the firstuser interface in response to detecting the second gesture comprisesreplacing display of the second user interface with display of the firstuser interface (e.g., with the replacing unit 914).

In some embodiments, enabling display of the second user interface inresponse to detecting the first gesture comprises enabling display of ananimation of the second user interface replacing the first userinterface (e.g., with the display enabling unit 912); and enablingdisplay of the first user interface in response to detecting the secondgesture comprises enabling display of an animation of the first userinterface replacing the second user interface (e.g., with the displayenabling unit 912).

In some embodiments, the first gesture is a swipe gesture and the secondgesture is a swipe gesture.

In some embodiments, the first gesture is a drag gesture and the secondgesture is a drag gesture.

In some embodiments, the first gesture is a tap gesture and the secondgesture is a tap gesture.

In some embodiments, the first user interface is in a first applicationand the second user interface is in the first application.

The operations in the information processing methods described above maybe implemented by running one or more functional modules in informationprocessing apparatus such as general purpose processors or applicationspecific chips. These modules, combinations of these modules, and/ortheir combination with general hardware (e.g., as described above withrespect to FIGS. 1A and 3) are all included within the scope ofprotection of the invention.

The operations described above with reference to FIGS. 6A-6C, 7A-7B maybe implemented by components depicted in FIGS. 1A-1B. For example,detection operations 604 and 630, displaying operation 612, andauthenticating operation 632 may be implemented by event sorter 170,event recognizer 180, and event handler 190. Event monitor 171 in eventsorter 170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub-event,such as selection of an object on a user interface. When a respectivepredefined event or sub-event is detected, event recognizer 180activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best utilize the invention andvarious embodiments with various modifications as are suited to theparticular use contemplated.

1. (canceled)
 2. An electronic device, comprising: a display; atouch-sensitive surface; one or more processors; memory; and one or moreprograms, wherein the one or more programs are stored in the memory andconfigured to be executed by the one or more processors, the one or moreprograms including instructions for: displaying a first user interfaceon the display; displaying a graphical object in a first region on thedisplay; while displaying the graphical object in the first region onthe display, detecting a first gesture on the touch-sensitive surface,the first gesture starting at a first location on the touch-sensitivesurface that corresponds to the first region on the display and movingto a second location on the touch-sensitive surface; and in response todetecting the first gesture, transitioning to a second user interfacedistinct from the first user interface, including: in accordance with adetermination that the first gesture is a first gesture type: moving thegraphical object from a first location on the display to a secondlocation on the display that is determined based on the second locationof the first gesture on the touch-sensitive surface; and displaying thesecond user interface on the display, distinct from the first userinterface, wherein a displayed amount of the second user interface isdetermined based on the second location of the first gesture on thetouch-sensitive surface; and in accordance with a determination that thefirst gesture is a second gesture type different from the first gesturetype: moving the graphical object from the first location on the displayto a third location on the display that is determined without regard tothe second location of the first gesture on the touch-sensitive surface;and displaying the second user interface on the display, distinct fromthe first user interface, wherein the displayed amount of the seconduser interface is determined without regard to the second location ofthe first gesture on the touch-sensitive surface.
 3. The electronicdevice of claim 2, the one or more programs further includinginstructions for: while displaying the graphical object in the firstregion on the display, detecting a second gesture on the touch-sensitivesurface, the second gesture starting at a third location on thetouch-sensitive surface that corresponds to the first region on thedisplay and moving to a fourth location on the touch-sensitive surface;and in response to detecting the second gesture, transitioning to thefirst user interface, including: in accordance with a determination thatthe second gesture is the first gesture type: moving the graphicalobject to a fourth location on the display that is determined based onthe fourth location of the second gesture on the touch-sensitivesurface; and displaying the first user interface on the display,distinct from the second user interface, wherein a displayed amount ofthe first user interface is determined based on the fourth location ofthe second gesture on the touch-sensitive surface; and in accordancewith a determination that the second gesture is the second gesture type:moving the graphical object to a fifth location on the display that isdetermined without regard to the fourth location of the second gestureon the touch-sensitive surface; and displaying the first user interfaceon the display, distinct from the second user interface, wherein thedisplayed amount of the first user interface is determined withoutregard to the fourth location of the second gesture on thetouch-sensitive surface.
 4. The electronic device of claim 2, whereinthe first gesture type is a drag gesture, and the second gesture type isa swipe gesture.
 5. The electronic device of claim 2, wherein the firstgesture includes a first contact on the touch-sensitive surface, the oneor more programs further including instructions for: in accordance witha determination the first gesture is the first gesture type, displayingthe second user interface on the display includes: while detecting thefirst contact of the first gesture is maintained on the touch-sensitivesurface, concurrently displaying the first user interface and the seconduser interface on the display; and upon detecting termination of thefirst contact of the first gesture, ceasing display of the first userinterface while maintaining display of the second user interface.
 6. Theelectronic device of claim 2, the one or more programs further includinginstructions for: in accordance with a determination the first gestureis the second gesture type, displaying the second user interface on thedisplay includes: ceasing display of the first user interface whilemaintaining display of the second user interface.
 7. The electronicdevice of claim 2, the one or more programs further includinginstructions for: while displaying the graphical object in the firstregion on the display, displaying a visual cue indicative of a gesturefor transitioning from the first user interface to the second userinterface.
 8. The electronic device of claim 2, wherein: the firstregion has a first region length, and the graphical object has a lengththat is less than the first region length.
 9. The electronic device ofclaim 2, wherein the first location on the touch-sensitive surface isremote from the graphical object.
 10. A non-transitory computer-readablestorage medium storing one or more programs configured to be executed byone or more processors of an electronic device with a display and atouch-sensitive surface, the one or more programs including instructionsfor: displaying a first user interface on the display; displaying agraphical object in a first region on the display; while displaying thegraphical object in the first region on the display, detecting a firstgesture on the touch-sensitive surface, the first gesture starting at afirst location on the touch-sensitive surface that corresponds to thefirst region on the display and moving to a second location on thetouch-sensitive surface; and in response to detecting the first gesture,transitioning to a second user interface distinct from the first userinterface, including: in accordance with a determination that the firstgesture is a first gesture type: moving the graphical object from afirst location on the display to a second location on the display thatis determined based on the second location of the first gesture on thetouch-sensitive surface; and displaying the second user interface on thedisplay, distinct from the first user interface, wherein a displayedamount of the second user interface is determined based on the secondlocation of the first gesture on the touch-sensitive surface; and inaccordance with a determination that the first gesture is a secondgesture type different from the first gesture type: moving the graphicalobject from the first location on the display to a third location on thedisplay that is determined without regard to the second location of thefirst gesture on the touch-sensitive surface; and displaying the seconduser interface on the display, distinct from the first user interface,wherein the displayed amount of the second user interface is determinedwithout regard to the second location of the first gesture on thetouch-sensitive surface.
 11. The non-transitory computer-readablestorage medium of claim 10, the one or more programs further includinginstructions for: while displaying the graphical object in the firstregion on the display, detecting a second gesture on the touch-sensitivesurface, the second gesture starting at a third location on thetouch-sensitive surface that corresponds to the first region on thedisplay and moving to a fourth location on the touch-sensitive surface;and in response to detecting the second gesture, transitioning to thefirst user interface, including: in accordance with a determination thatthe second gesture is the first gesture type: moving the graphicalobject to a fourth location on the display that is determined based onthe fourth location of the second gesture on the touch-sensitivesurface; and displaying the first user interface on the display,distinct from the second user interface, wherein a displayed amount ofthe first user interface is determined based on the fourth location ofthe second gesture on the touch-sensitive surface; and in accordancewith a determination that the second gesture is the second gesture type:moving the graphical object to a fifth location on the display that isdetermined without regard to the fourth location of the second gestureon the touch-sensitive surface; and displaying the first user interfaceon the display, distinct from the second user interface, wherein thedisplayed amount of the first user interface is determined withoutregard to the fourth location of the second gesture on thetouch-sensitive surface.
 12. The non-transitory computer-readablestorage medium of claim 10, wherein the first gesture type is a draggesture, and the second gesture type is a swipe gesture.
 13. Thenon-transitory computer-readable storage medium of claim 10, wherein thefirst gesture includes a first contact on the touch-sensitive surface,the one or more programs further including instructions for: inaccordance with a determination the first gesture is the first gesturetype, displaying the second user interface on the display includes:while detecting the first contact of the first gesture is maintained onthe touch-sensitive surface, concurrently displaying the first userinterface and the second user interface on the display; and upondetecting termination of the first contact of the first gesture, ceasingdisplay of the first user interface while maintaining display of thesecond user interface.
 14. The non-transitory computer-readable storagemedium of claim 10, the one or more programs further includinginstructions for: in accordance with a determination the first gestureis the second gesture type, displaying the second user interface on thedisplay includes: ceasing display of the first user interface whilemaintaining display of the second user interface.
 15. The non-transitorycomputer-readable storage medium of claim 10, the one or more programsfurther including instructions for: while displaying the graphicalobject in the first region on the display, displaying a visual cueindicative of a gesture for transitioning from the first user interfaceto the second user interface.
 16. The non-transitory computer-readablestorage medium of claim 10, wherein: the first region has a first regionlength, and the graphical object has a length that is less than thefirst region length.
 17. The non-transitory computer-readable storagemedium of claim 10, wherein the first location on the touch-sensitivesurface is remote from the graphical object.
 18. A method, comprising:at an electronic device having a display and a touch-sensitive surface:displaying a first user interface on the display; displaying a graphicalobject in a first region on the display; while displaying the graphicalobject in the first region on the display, detecting a first gesture onthe touch-sensitive surface, the first gesture starting at a firstlocation on the touch-sensitive surface that corresponds to the firstregion on the display and moving to a second location on thetouch-sensitive surface; and in response to detecting the first gesture,transitioning to a second user interface distinct from the first userinterface, including: in accordance with a determination that the firstgesture is a first gesture type: moving the graphical object from afirst location on the display to a second location on the display thatis determined based on the second location of the first gesture on thetouch-sensitive surface; and displaying the second user interface on thedisplay, distinct from the first user interface, wherein a displayedamount of the second user interface is determined based on the secondlocation of the first gesture on the touch-sensitive surface; and inaccordance with a determination that the first gesture is a secondgesture type different from the first gesture type: moving the graphicalobject from the first location on the display to a third location on thedisplay that is determined without regard to the second location of thefirst gesture on the touch-sensitive surface; and displaying the seconduser interface on the display, distinct from the first user interface,wherein the displayed amount of the second user interface is determinedwithout regard to the second location of the first gesture on thetouch-sensitive surface.
 19. The method of claim 18, further comprising:while displaying the graphical object in the first region on thedisplay, detecting a second gesture on the touch-sensitive surface, thesecond gesture starting at a third location on the touch-sensitivesurface that corresponds to the first region on the display and movingto a fourth location on the touch-sensitive surface; and in response todetecting the second gesture, transitioning to the first user interface,including: in accordance with a determination that the second gesture isthe first gesture type: moving the graphical object to a fourth locationon the display that is determined based on the fourth location of thesecond gesture on the touch-sensitive surface; and displaying the firstuser interface on the display, distinct from the second user interface,wherein a displayed amount of the first user interface is determinedbased on the fourth location of the second gesture on thetouch-sensitive surface; and in accordance with a determination that thesecond gesture is the second gesture type: moving the graphical objectto a fifth location on the display that is determined without regard tothe fourth location of the second gesture on the touch-sensitivesurface; and displaying the first user interface on the display,distinct from the second user interface, wherein the displayed amount ofthe first user interface is determined without regard to the fourthlocation of the second gesture on the touch-sensitive surface.
 20. Themethod of claim 18, wherein the first gesture type is a drag gesture,and the second gesture type is a swipe gesture.
 21. The method of claim18, wherein the first gesture includes a first contact on thetouch-sensitive surface, the method further comprising: in accordancewith a determination the first gesture is the first gesture type,displaying the second user interface on the display includes: whiledetecting the first contact of the first gesture is maintained on thetouch-sensitive surface, concurrently displaying the first userinterface and the second user interface on the display; and upondetecting termination of the first contact of the first gesture, ceasingdisplay of the first user interface while maintaining display of thesecond user interface.
 22. The method of claim 18, further comprising:in accordance with a determination the first gesture is the secondgesture type, displaying the second user interface on the displayincludes: ceasing display of the first user interface while maintainingdisplay of the second user interface.
 23. The method of claim 18,further comprising: while displaying the graphical object in the firstregion on the display, displaying a visual cue indicative of a gesturefor transitioning from the first user interface to the second userinterface.
 24. The method of claim 18, wherein: the first region has afirst region length, and the graphical object has a length that is lessthan the first region length.
 25. The method of claim 18, wherein thefirst location on the touch-sensitive surface is remote from thegraphical object.